Question about --force option and CUDA Toolkit SDK
#4
Hi again!

Finally i was able to make hashcat to work with the CUDA SDK !!

The problem was related with the nvrtc.dll which was not loading and thus the if ((rc_cuda_init == 0) && (rc_nvrtc_init == 0)) on backend_ctx_init() was not executing!

OBS: The cuda_init() function is working fine now and nvcuda.dll is properly loaded after the driver was updated.

The dll was not loaded because on:

#elif defined (__CYGWIN__)
  nvrtc->lib = hc_dlopen ("nvrtc.dll");

an incorrect name was being used
So just change the wrong name to the one of the dll which is on my system

#elif defined (__CYGWIN__)
  //nvrtc->lib = hc_dlopen ("nvrtc.dll");
  nvrtc->lib = hc_dlopen ("nvrtc64_110_0.dll");

and after rebuild the application the issue was fixed!!

Of course the modification must be done in a way that it work properly on any CUDA Toolkit SDks and to do that we can use the same code that the one used on:

#if defined (_WIN)

where it is used a logic to try the different posibles names of the dll or it could be possible to remove the elif defined (__CYGWIN__) branch and just use.

#if defined (_WIN) || defined (__CYGWIN__) instead of #if defined (_WIN)

which is what i finally did on the source.

To sumarize:

1) I have installed the latest NVIDIA driver 451.48
2) I have installed the latest CUDA Toolkit SDK (11.0 RC)
3) I have modified the backend.c source file to use the correct nvrtc DLL name on my system

and finally now it is working!

Just for the record with CUDA there is a 9,01% of increase on the speed of my kernel regarding OpenCL backend.

Many thanks

BR
Reply


Messages In This Thread
RE: Question about --force option and CUDA Toolkit SDK - by TheAleph - 06-29-2020, 02:36 AM