This project is read-only.

NVCC arguments

Nov 15, 2012 at 7:20 PM

Hi,

 

is it possible to set NVCC arguments?

 

Best,

 

Christian

Nov 15, 2012 at 10:53 PM

Are there particular options you wish to set? Some, like architecture, can be indirectly controlled.

Nov 15, 2012 at 11:55 PM
Edited Nov 15, 2012 at 11:56 PM

Other than setting platform and architecture in CudafyTranslator.Cudafy, the answer appears to be no. One can obtain a List<CompilerOptions> object from an instance of CudafyModule, but only after the compilation has been performed, which doesn't help much.

Nick: Did I miss anything?

Nov 16, 2012 at 2:49 AM

I was thinking about using -G to generate debug information and -lineinfo to get line number information. I wanted to use this in combination with cuda-memcheck. Does anyone have information about this?

 

Best,

 

Christian

Jun 28, 2013 at 4:57 PM
Edited Jun 28, 2013 at 5:03 PM
Is there any chance that something has been added to allow us to set compiler arguments/flags? I'm chasing down an "error" right now that I believe is related to the Fuse-Multiply-Add instruction, so wanted to add "-fmad=false" to disable it and check the outcome.

I'm currently trying something like this to no avail:
km.CompilerOptionsList.Add(Cudafy.Compilers.NvccCompilerOptions.Create("-fmad=false"));
If the difference from the CPU is coming from this, it simply means the GPU is more accurate, but until I can verify that I have to treat it as an error.

Thanks for your help!

Zach
Jun 30, 2013 at 7:25 AM
Use the new Translate method instead of Cudafy. Then add your compiler options. By the way the snippet below is part of some current testing for the new dynamic parallelism and cubin support.
        public void SetUp()
        {
            _cm = CudafyTranslator.Translate(eArchitecture.sm_35, typeof(Compute35Features));
            var options = NvccCompilerOptions.Createx64(eArchitecture.sm_35);
            options.AddOption("-cubin");
            options.AddOption("cudadevrt.lib");
            options.AddOption("cublas_device.lib");
            options.AddOption("-dlink");
            _cm.CompilerOptionsList.Add(options);
            _cm.Compile(eGPUCompiler.CudaNvcc, false, true);
            _gpu = CudafyHost.GetDevice(CudafyModes.Target, CudafyModes.DeviceId);
            _gpu.LoadModule(_cm);
        }
Jul 18, 2013 at 6:59 AM
@NickKopp Morning, whats the difference between generating the CUDAFYSOURCETEMP.cu file and running NSight on that vs using the above code? I see u specified compute 3.5 device in ur declaration of "options". When i was looking through why i couldnt get the debugger option, there were alot of posts about setting NVCC argument to -G in order to generate the debug info, but i couldnt find anything about it at the time.

Thanks.