blob: 1fa6cee375f6c648f55b15ec082616d660131c4e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
To run OpenCL applications on GPGPU-Sim, do the following:
1. Build the OpenCL application as you would to run it on an NVIDIA GPU.
2. Set GPGPUSIM_ROOT to the top level of your GPGPU-Sim installation.
3. Set NVOPENCL_LIBDIR to the location of libOpenCL.so distributed by NVIDIA
(usually /usr/lib or /usr/lib64)
4. Run make in the top level GPGPU-Sim directory (after step 3)
5. Ensure GPGPUSIM_ROOT/lib is before /usr/lib and /usr/lib64 in your
LD_LIBRARY_PATH
6. Copy appropriate gpgpusim.config and interconnect configuration files
to the directory you will run the OpenCL application in.
7. Run the OpenCL application as built in step 1.
The following NVIDIA Compute SDK 2.3a OpenCL applications have been tested
(using reduced input sets):
oclBandwidthTest
oclBlackScholes
oclReduction
oclDCT8x8
oclDotProduct
oclHistogram
oclMersenneTwister
oclMatrixMul
oclMatVecMul
oclSortingNetworks
oclTranspose
oclVectorAdd
oclConvolutionSeparable
oclQuasirandomGenerator
oclParticles (w/ -qatest)
The LLVM based PTX compiler in the current OpenCL enabled NVIDIA driver
(190.29) will occassionally move code in such a way that a barrier becomes
control dependent upon a branch that can diverge, leading to a deadlock. This
has been observed for oclScan and oclRadixSort.
The following are known to not work currently:
oclRadixSort : barrier control dependence deadlock
oclScan : barrier control dependence deadlock
The other benchmarks have not been tested, or not tested to completion.
|