Hahnfeld marked an inline comment as done. Hahnfeld added inline comments.
================ Comment at: lib/Driver/ToolChains/Cuda.cpp:170-182 - // This code prevents IsValid from being set when - // no libdevice has been found. - bool allEmpty = true; - std::string LibDeviceFile; - for (auto key : LibDeviceMap.keys()) { - LibDeviceFile = LibDeviceMap.lookup(key); - if (!LibDeviceFile.empty()) ---------------- tra wrote: > I'd keep this code. It appears to serve useful purpose as it requires CUDA > installation to have at least some libdevice library in it. It gives us a > change to find a valid installation, instead of ailing some time later when > we ask for a libdevice file and fail because there are none. We had some internal discussions about this after I submitted the patch here. The main question is: Do we want to support CUDA installations without libdevice and are there use cases for that? I'd say that the user should be able to use a toolchain without libdevice together with `-nocudalib`. ================ Comment at: lib/Driver/ToolChains/Cuda.cpp:540 // Also append the compute capability. if (DeviceOffloadKind == Action::OFK_OpenMP) { for (Arg *A : Args){ ---------------- This check guards the whole block. ================ Comment at: lib/Driver/ToolChains/Cuda.cpp:556 + DAL->AddJoinedArg(nullptr, Opts.getOption(options::OPT_march_EQ), + CLANG_OPENMP_NVPTX_DEFAULT_ARCH); } ---------------- tra wrote: > This sets default GPU arch for *everyone* based on OPENMP requirements. > Perhaps this should be predicated on this being openmp compilation. > > IMO to avoid unnecessary surprises, the default for CUDA compilation should > follow defaults of nvcc. sm_30 becomes default only in CUDA-9. > This branch is only executed for OpenMP, see above https://reviews.llvm.org/D38883 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits