Compilation error on gpu (Gwendolen)
I can successfully compile the opal-x's master for CPUs of merlin6. However, compiling for Gwendolen's GPUs gives me this error
/data/user/sadr_m/opalx/src/Algorithms/ParallelTracker.cpp(1018): error: argument list for alias template "Vector_t" is missing
Vector_t R = itsBunch_m->toLabTrafo_m.transformFrom(itsBunch_m->RefPartR_m);
^
/data/user/sadr_m/opalx/src/Algorithms/ParallelTracker.cpp(1018): error: expected a ";"
Vector_t R = itsBunch_m->toLabTrafo_m.transformFrom(itsBunch_m->RefPartR_m);
^
/data/user/sadr_m/opalx/src/Algorithms/ParallelTracker.cpp(1019): error: argument list for alias template "Vector_t" is missing
Vector_t P = itsBunch_m->toLabTrafo_m.transformFrom(itsBunch_m->RefPartP_m);
^
/data/user/sadr_m/opalx/src/Algorithms/ParallelTracker.cpp(1019): error: expected a ";"
Vector_t P = itsBunch_m->toLabTrafo_m.transformFrom(itsBunch_m->RefPartP_m);
^
/data/user/sadr_m/opalx/src/Algorithms/ParallelTracker.cpp(1021): error: identifier "R" is undefined
pathLength_m += std::copysign(1, itsBunch_m->getdT()) * euclidean_norm(R);
^
/data/user/sadr_m/opalx/src/Algorithms/ParallelTracker.cpp(1021): error: no instance of function template "euclidean_norm" matches the argument list
argument types are: (<error-type>)
pathLength_m += std::copysign(1, itsBunch_m->getdT()) * euclidean_norm(R);
^
/data/user/sadr_m/opalx/src/Algorithms/ParallelTracker.cpp(1023): error: identifier "P" is undefined
CoordinateSystemTrafo update(R, getQuaternion(P, Vector_t<double, 3>(0, 0, 1)));
^
7 errors detected in the compilation of "/data/user/sadr_m/opalx/src/Algorithms/ParallelTracker.cpp".
cmake is done using
cmake .. -DCMAKE_BUILD_TYPE=Release -DIPPL_PLATFORMS=CUDA -DKokkos_ARCH_AMPERE80=ON -DCMAKE_CXX_STANDARD=20 -DENABLE_FFT=ON -DENABLE_SOLVERS=ON
Edited by sadr_m