gtbercea 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())
----------------
gtbercea wrote:
> Hahnfeld wrote:
> > tra wrote:
> > > Hahnfeld wrote:
> > > > 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`.
> > > Sounds reasonable. How about keeping the code but putting it under 
> > > `if(!hasArg(nocudalib))`?
> > > 
> > Ok, I'll do that in a separate patch and keep the code here for now.
> The problem with nocudalib is that if for example you write a test, which 
> looks to verify some device facing feature that requires a libdevice to be 
> found (so you don't want to use nocudalib), it will probably work on your 
> machine which has the correct CUDA setup but fail on another machine which 
> does not (which is where you want to use nocudalib). You can see the 
> contradiction there.
Just to be clear I am arguing for keeping this code :)


https://reviews.llvm.org/D38883



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to