Closed
Description
Much more painless than CUDA support was so far. C++ friendliness is good,
though hitting some not trivially copy constructible complaints for Lambda captures.
First cut compile of entire application goes (almost) through, which is pretty awesome.
(Compile is rather slow, but mustn't grumble)
git clone https://www.github.com/paboyle/Grid
cd Grid
git checkout sycl
./bootstrap.sh
mkdir build
cd build
../configure --enable-simd=GEN --enable-gen-simd-width=64 --enable-precision=single --enable-sycl CXX=dpcpp
make -j 12 -C Grid
make -j 12 -C benchmarks
cd benchmarks
./Benchmark_su3_gpu
But running gives
Grid : Message : ================================================
Grid : Message : MPI is initialised and logging filters activated
Grid : Message : ================================================
Grid : Message : Requested 1073741824 byte stencil comms buffers
Grid : Message : 0.523132 s : Grid is setup to use 1 threads
Grid : Message : 0.523143 s : ============================================================
Grid : Message : 0.523156 s : = Benchmarking SU3xSU3 ext/ins z = x*y
============================================================
Grid : Message : 0.523179 s : L bytes GB/s GFlop/s
Grid : Message : 0.523190 s : -----------------------------------------------------
terminate called after throwing an instance of 'cl::sycl::compile_program_error'
what(): The program was built for 1 devices
Build program log for 'Intel(R) Gen9 HD Graphics NEO':
error: undefined reference to `__mulsc3()'
error: backend compiler failed build.
-17 (CL_LINK_PROGRAM_FAILURE)
Aborted
Advice welcome?