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
--- specifysac2c
executable directly. Otherwise CMake will try to findsac2c
on yout PATH.-DLINKSETSIZE=n
--- set-linksetsize n
when 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
0
is the fastest time-wise but potentially results in a large memory consumption -
value
1
reduces the memory consumption to minimum, buy significantly increases compilation time.Default value: 500.
-
-DENABLE_CUDA_CHECK=ON
activates CUDA runtime checks, default isOFF
.