As mentioned in PR#49250, without this patch, ptxas for CUDA 9.1 fails
in the following two tests:
- openmp/libomptarget/test/mapping/lambda_mapping.cpp
- openmp/libomptarget/test/offloading/bug49021.cpp
The error looks like:
ptxas /tmp/lambda_mapping-081ea9.s, line 828; error : Not a name of any known instruction: 'activemask'
The problem is that our cmake script converts CUDA version strings
incorrectly: 9.1 becomes 9100, but it should be 9010, as shown in
getCudaVersion in clang/lib/Driver/ToolChains/Cuda.cpp. Thus,
openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.cu
inadvertently enables activemask because it apparently becomes
available in 9.2. This patch fixes the conversion.
This patch does not fix the other two tests in PR#49250.
You can use libomptarget_error_say("Unrecognized CUDA version format: ${cuda_version}") instead.