Open jeffhammond opened 8 years ago
The restrict
/ __restrict__
issue is a nuicense. For some compilers, we require restrict for correct parallelism, on others we must not have restrict for correct parallelism.
I also do not think restrict is standard C++ either.
One option is to define our own RESTRICT
and set it to nothing, restrict
or __restrict__
based on the compiler. I'm not sure this is satisfactory though.
If restrict
is used correctly, any incorrectness you see with it is a compiler bug.
And no, restrict
isn't ISO C++. It's just supported by every widely used C++ compiler.
Should be fixed in #202
The OpenACC implementation requires GCC 6+ to compile, but then only with a patch.
Please rename the patch to remove the
.txt
suffix, which Github forced me to add. 0001-use-restrict-instead-of-restrict-which-is-not-a-.patch.txtUnfortunately, my version of CUDA only supports GCC 5, so I'm kludging them together like this (the important piece is
-ccbin
):GCC 5.4
GCC 6.2