-
Notifications
You must be signed in to change notification settings - Fork 115
Description
When cuOpt is built from scratch on a pre-Volta GPU infrastructure, the build process produces an error where compile fails first, and this is not quite relevant to the root cause of the error (ie. pre-Volta systems not being supported in the first place).
It would be better if the build process checks for the underlying GPU infra and bail out right away with a suitable error message that says pre-Volta GPUs are not supported.
See below for an example error when cuOpt was built on a Pascal-based system.
`/home/mjs/git/cuopt/cpp/src/mip/feasibility_jump/load_balancing.cuh(
453): error: identifier "__match_any_sync" is undefined
uint32_t mask = __match_any_sync(__activemask(), delta);
^
detected during instantiation of "void
cuopt::linear_programming::detail::load_balancing_mtm_compute_candid
ates<i_t,f_t>(cuopt::linear_programming::detail::fj_t<i_t,
f_t>::climber_data_t::view_t) [with i_t=int, f_t=double]" at line
1540 of
/home/mjs/git/cuopt/cpp/src/mip/feasibility_jump/feasibility_jump_ke
rnels.cu
1 error detected in the compilation of
"/home/mjs/git/cuopt/cpp/src/mip/feasibility_jump/feasibility_jump_k
ernels.cu".
[59/209] Building CUDA object
CMakeFiles/cuopt.dir/src/routing/local_search/compute_insertions.cu.
o
ninja: build stopped: subcommand failed.`