After upgrading to CUDA 1.1 (drivers, fresh runtime install, fresh SDK install), my code started crashing the compiler. Specifically when nvcc’ing one of my kernels, ptxas crashes.
I’ve narrowed it down to the following code - running nvcc on this file crashes every time.
__global__ void calculate_solvent_accessibility_ligand_receptor_kernel( float* d_solvent_accessibilities,
uint start,
uint start_receptor_block,
uint num_receptor_blocks,
float* d_ligand_atomic_radii,
float* d_ligand_p_i,
float* d_ligand_S_i,
float3* d_ligand_origin,
float3* d_ligand_transform_origin,
float* d_receptor_atomic_radii,
float* d_receptor_p_i,
float* d_receptor_S_i,
float3* d_receptor_origin
)
{
}
When compiling the above verbatim (e.g. nothing in the function body, just the specified function name and parameter list), I get:
[dynerman-local@troy cuda]$ nvcc crash_1.1.cu
nvcc error : 'ptxas' died due to signal 11 (Invalid memory reference)
If I modify the code by removing some of the parameters, the file eventually gets pass ptxas. Also, the problem becomes more intermittant. If I remove the last 5 parameters, it’ll crash (with the same message) about 10% of the time (the other 90% it’ll get to the linking phase). Once I add the 5 last parameters back in, the crash rate is back near 100%.
Note that this code will fail to link, the crash is occuring at an earlier compilation stage.
My system specifications:
Operating System: RHEL 5.1 64-bit
Synopsis of the problem: nvcc crashes on kernel compile during ptxas stage
Detailed description: above
CUDA Toolkit Release Version: 1.1
SDK Release Version: 1.1
Compiler for CPU Host Code: N/A
System description: Dell Precision 690
[dynerman-local@troy ~]$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2006 NVIDIA Corporation
Built on Fri_Nov_30_01:55:35_PST_2007
Cuda compilation tools, release 1.1, V0.2.1221
09:00.0 VGA compatible controller: nVidia Corporation GeForce 8800 Ultra (rev a2)
0a:00.0 VGA compatible controller: nVidia Corporation GeForce 8800 Ultra (rev a2)
processor : 0-3
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E5335 @ 2.00GHz
stepping : 7
cpu MHz : 1995.006
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr lahf_lm
bogomips : 3992.91
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management: