Add benchmarks section to README
[cuda-ada.git] / README
1 CUDA/Ada
2 ========
3
4 CUDA/Ada is an Ada binding to NVIDIA's CUDA parallel computing platform and
5 programming model.
6
7
8 Licence
9 -------
10 --------------------------------------------------------------------------------
11 Copyright (C) 2011 Reto Buerki <reet@codelabs.ch>
12 Copyright (C) 2011 Adrian-Ken Rueegsegger <ken@codelabs.ch>
13 University of Applied Sciences Rapperswil
14
15 This program is free software: you can redistribute it and/or modify it under
16 the terms of the GNU General Public License as published by the Free Software
17 Foundation, either version 3 of the License, or (at your option) any later
18 version.
19 --------------------------------------------------------------------------------
20
21
22 Download
23 --------
24
25 Release version
26 ~~~~~~~~~~~~~~~
27 No release yet, stay tuned.
28
29 Development version
30 ~~~~~~~~~~~~~~~~~~~
31 The current development version of CUDA/Ada is available through its git
32 repository:
33
34   $ git clone http://git.codelabs.ch/git/cuda-ada.git
35
36 A browsable version of the repository is also available here:
37 http://git.codelabs.ch/?p=cuda-ada.git.
38
39
40 Build
41 -----
42 To compile CUDA/Ada on your system, you need to have the following software
43 installed:
44
45 * GNAT compiler:
46   http://www.gnu.org/software/gnat/gnat.html
47
48 * Ahven (Test-Framework):
49   http://ahven.stronglytyped.org/
50
51 * CUDA Toolkit for Linux 10.10:
52   http://developer.nvidia.com/cuda-downloads
53
54 * NVIDIA Developer Drivers for Linux:
55   http://developer.nvidia.com/cuda-downloads
56
57
58 Testing
59 -------
60 CUDA/Ada contains an unit test suite which can be run by entering the following
61 command:
62
63   $ make tests
64
65 Of course, you need a CUDA aware GPU for this to work.
66
67
68 Benchmarks
69 ----------
70 CUDA/Ada provides benchmarking code that measures matrix addition and
71 multiplication in Ada, CUDA/Ada and native CUDA C. The benchmarks can be run by
72 issuing the following command:
73
74   $ make perf COUNT=10
75
76 This will print the cumulated execution times of ten successive matrix
77 operations for the three different implementations.