Closed zz-Malfurion closed 3 years ago
The injection functions must to be specifically compiled with this line:
inject_funcs.o: inject_funcs.cu
$(NVCC) $(INCLUDES) -maxrregcount=24 -Xptxas -astoolspatch --keep-device-functions -arch=sm_$(ARCH) -Xcompiler -Wall -Xcompiler -fPIC -c $< -o $@
They have to use at most 24 registers, it is not optional. We should definitely replace the ASSERT with a clear error and exit.
Hi,
I met this error when I tried to inject a big device function.
What is the concern of the register usage? The only reason I can imagine is that the instrumentation function might affect the occupancy of the origin kernel.
Can we relax this restriction? Maybe replace it with a warning?