4 CUDA/Ada is an Ada binding to NVIDIA's CUDA parallel computing platform and
5 programming model. This project was developed during the course of the master
6 seminar "Progam Analysis and Transformation" at the University of Applied
12 --------------------------------------------------------------------------------
13 Copyright (C) 2011 Reto Buerki <reet@codelabs.ch>
14 Copyright (C) 2011 Adrian-Ken Rueegsegger <ken@codelabs.ch>
15 University of Applied Sciences Rapperswil
17 This program is free software: you can redistribute it and/or modify it under
18 the terms of the GNU General Public License as published by the Free Software
19 Foundation, either version 3 of the License, or (at your option) any later
21 --------------------------------------------------------------------------------
26 The paper about CUDA/Ada can be found here:
27 http://www.codelabs.ch/cuda-ada/cuda-ada-article.pdf.
32 The current development version of CUDA/Ada is available through its git
35 $ git clone http://git.codelabs.ch/git/cuda-ada.git
37 A browsable version of the repository is also available here:
38 http://git.codelabs.ch/?p=cuda-ada.git.
43 To compile CUDA/Ada on your system, you need to have the following software
47 http://www.gnu.org/software/gnat/gnat.html
49 * Ahven (Test-Framework):
50 http://ahven.stronglytyped.org/
52 * CUDA Toolkit for Linux 10.10:
53 http://developer.nvidia.com/cuda-downloads
55 * NVIDIA Developer Drivers for Linux:
56 http://developer.nvidia.com/cuda-downloads
61 CUDA/Ada contains an unit test suite which can be run by entering the following
66 Of course, you need a CUDA aware GPU for this to work.
71 CUDA/Ada provides benchmarking code that measures matrix addition and
72 multiplication in Ada, CUDA/Ada and native CUDA C. The benchmarks can be run by
73 issuing the following command:
77 This will print the cumulated execution times of ten successive matrix
78 operations for the three different implementations.