On 11/25/2012 02:14 PM, Justin wrote:
> On 25.11.2012 18:59, Rick "Zero_Chaos" Farina wrote:
>> On 11/25/2012 11:47 AM, Justin wrote:
>>> Hi,
>>
>>> I would like to introduce a new eclass for packages using the nvidia
>>> cuda compiler suite. Currently the eclass simply sanitize the NVCCFLAGS.
>>> May be extended in the future.
>>
>>> Two problems come up with using nvcc:
>>
>>> * Each version only supports a limited number of gcc versions. Therefore
>>> we need to pass the path to a supported gcc bindir
>>
>>> * nvcc calls CXX but doesn't pass CXXFLAGS on.
>>
>> This whole idea seems great but I see two issues.  Issue 1.) I'm stupid
>> and don't really understand all the intricacy of the toolchain stuff and
>> 2.) you didn't include an example ebuild.
>>
>> Fortunately issue 1 can (at least functionally) be solved by providing a
>> solution for issue 2.  If you need an ebuild to cuda.eclassify then I am
>> happy to provide (or feel free to use a before and after of anything you
>> have available).
>>
>> https://code.google.com/p/pentoo/source/browse/portage/trunk/app-crypt/cryptohaze-combined/cryptohaze-combined-9999.ebuild
>>
>> Thanks!
>> Zero
>>
> 
> 1)
> The build fails if you are using a compiler newer then the supported ones.
> 
> In file included from /opt/cuda/include/cuda_runtime.h:59:0,
>                  from <command-line>:0:
> /opt/cuda/include/host_config.h:82:2: error: #error -- unsupported GNU
> version! gcc 4.7 and up are not supported!
> make[1]: *** [obj/x86_64/release/segmentationTree.cu_13.o] Error 1
> 
> 
> or similar. Solution, tell nvcc where to find a compatible compiler.

I can see this improvement right away, love it.
> 
> 2)
> The underlying call of c compiler doesn't respect CXXFLAGS, therefore we
> need to tell nvcc what to use. Otherwise only the plain NVCCFLAGS are used.
> 
> 
> How to fix your package, depends on the buildsystem and where and how
> they are calling the nvcc. Normally you need to sed it in.
> 
> Here as an example the nvidia-cuda-sdk version bump:
> 
> https://github.com/gentoo-science/sci/blob/cuda/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-5.0.35.ebuild

I mostly get this, seems like a good thing.

All in all, definitely ACK. I like it.

Thanks,
Zero

Reply via email to