Difference between revisions of "Cruft"
Line 40: | Line 40: | ||
END_INSTRUMENT_SECTION | END_INSTRUMENT_SECTION | ||
+ | |||
+ | For the Opencl code edit src-ocl/eam_kernels.c to move this section about the typedef CL_REAL_T real_t; | ||
+ | |||
+ | #if defined(cl_khr_fp64) // Khronos extension available? | ||
+ | #pragma OPENCL EXTENSION cl_khr_fp64 : enable | ||
+ | #elif defined(cl_amd_fp64) // AMD extension available? | ||
+ | #pragma OPENCL EXTENSION cl_amd_fp64 : enable | ||
+ | #endif | ||
Then set: | Then set: | ||
Line 55: | Line 63: | ||
./cruft -f data/8k.inp.gz | ./cruft -f data/8k.inp.gz | ||
+ | |||
+ | And for OpenCL accelerated version: | ||
+ | |||
+ | tau_exec -T serial -opencl ./cruftOCL -p ag -e -f data/8k.inp.gz | ||
+ | |||
+ | tau_exec -T serial -opencl ./cruftOCL -f data/8k.inp.gz | ||
== Performance Data == | == Performance Data == |
Revision as of 00:39, 8 March 2012
Background
Link | Code | Version | Machine | Date |
---|---|---|---|---|
LLNL website | git repo | Kyle Spafford fork | Keeneland | March 2012 |
Building Cruft
Modify the CmakeLists.txt and add these lines:
set (CMAKE_CXX_COMPILER tau_cxx.sh) set (CMAKE_C_COMPILER tau_cc.sh)
Then issue
cmake .
You can safety proceed when you encounter reversions.
Selective instrumentation of Loops:
BEGIN_INSTRUMENT_SECTION loops file="eam.c" routine="eamForce#" loops file="ljForce.c" routine="LJ#" END_INSTRUMENT_SECTION
For the Opencl code edit src-ocl/eam_kernels.c to move this section about the typedef CL_REAL_T real_t;
#if defined(cl_khr_fp64) // Khronos extension available? #pragma OPENCL EXTENSION cl_khr_fp64 : enable #elif defined(cl_amd_fp64) // AMD extension available? #pragma OPENCL EXTENSION cl_amd_fp64 : enable #endif
Then set:
export TAU_OPTIONS="-optVerbose -optTauSelectFile=`pwd`/select.tau" export TAU_MAKEFILE=<path to TAU>/x86_64/lib/Makefile.tau-icpc-pdt make
Running Cruft
./cruft -p ag -e -f data/8k.inp.gz
or
./cruft -f data/8k.inp.gz
And for OpenCL accelerated version:
tau_exec -T serial -opencl ./cruftOCL -p ag -e -f data/8k.inp.gz
tau_exec -T serial -opencl ./cruftOCL -f data/8k.inp.gz
Performance Data
EAM method:
LJ method: