I just ran into an issue where I accidentally used a library built with RAJA configured without Cuda and linked it to a code built with RAJA configured with Cuda. Surprisingly this built and linked without complaint and failed at runtime when the library tried to use device memory in a sequential loop. RAJA configured with Cuda already allows usage without a cuda compiler.
Should we find a way to only allow one RAJA configuration per build? Maybe adding a symbol that represents the RAJA configuration so accidentally building with two differently configured RAJA installs will fail.
I just ran into an issue where I accidentally used a library built with RAJA configured without Cuda and linked it to a code built with RAJA configured with Cuda. Surprisingly this built and linked without complaint and failed at runtime when the library tried to use device memory in a sequential loop. RAJA configured with Cuda already allows usage without a cuda compiler. Should we find a way to only allow one RAJA configuration per build? Maybe adding a symbol that represents the RAJA configuration so accidentally building with two differently configured RAJA installs will fail.