This is a SaC module that wraps around some of the runtime functions of CUDA.
Its main purpose is to provide profiling functions.
You'll need to have installed sac2c and have a copy of the Stdlib
installed as well. sac2c will need to have at the very least a
functioning backend for CUDA, e.g. target cuda and friends.
$ cd CUDA
$ git submodule init
$ git submodule update
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ make install //you might need to use `sudo'When running CMake it is possible to pass the following variables:
-DTARGETS=x;y;z--- build stdlib for targets x, y and z. (defaults arecuda)-DSAC2C_EXEC=/path/to/sac2c--- specifysac2cexecutable directly. Otherwise CMake will try to findsac2con yout PATH.-DLINKSETSIZE=n--- set-linksetsize nwhen callingsac2c. This option is responsible for the number of C functions that are put in a single C file when compiling a SaC program. The rule of thumb:-
value
0is the fastest time-wise but potentially results in a large memory consumption -
value
1reduces the memory consumption to minimum, buy significantly increases compilation time.Default value: 500.
-
-DENABLE_CUDA_CHECK=ONactivates CUDA runtime checks, default isOFF.