CUDA/Ada ======== CUDA/Ada is an Ada binding to NVIDIA's CUDA parallel computing platform and programming model. Licence ------- -------------------------------------------------------------------------------- Copyright (C) 2011 Reto Buerki Copyright (C) 2011 Adrian-Ken Rueegsegger University of Applied Sciences Rapperswil This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -------------------------------------------------------------------------------- Download -------- Release version ~~~~~~~~~~~~~~~ No release yet, stay tuned. Development version ~~~~~~~~~~~~~~~~~~~ The current development version of CUDA/Ada is available through its git repository: $ git clone http://git.codelabs.ch/git/cuda-ada.git A browsable version of the repository is also available here: http://git.codelabs.ch/?p=cuda-ada.git. Build ----- To compile CUDA/Ada on your system, you need to have the following software installed: * GNAT compiler: http://www.gnu.org/software/gnat/gnat.html * Ahven (Test-Framework): http://ahven.stronglytyped.org/ * CUDA Toolkit for Linux 10.10: http://developer.nvidia.com/cuda-downloads * NVIDIA Developer Drivers for Linux: http://developer.nvidia.com/cuda-downloads Testing ------- CUDA/Ada contains an unit test suite which can be run by entering the following command: $ make tests Of course, you need a CUDA aware GPU for this to work. Benchmarks ---------- CUDA/Ada provides benchmarking code that measures matrix addition and multiplication in Ada, CUDA/Ada and native CUDA C. The benchmarks can be run by issuing the following command: $ make perf COUNT=10 This will print the cumulated execution times of ten successive matrix operations for the three different implementations.