hashcat Forum
VLIW on NVidia Cuda - Printable Version

+- hashcat Forum (https://hashcat.net/forum)
+-- Forum: Developer (https://hashcat.net/forum/forum-39.html)
+--- Forum: hashcat (https://hashcat.net/forum/forum-40.html)
+--- Thread: VLIW on NVidia Cuda (/thread-4998.html)



VLIW on NVidia Cuda - AlexTeos - 01-12-2016

Hello! 


Firstly, I want to express my gratitude for open the source code of the program. It was done a great job.

Now I am trying to understand how it is works. And now I am stuck, can you explain me about this code in NVidia Cuda version:
Code:
#ifdef IS_NV
#ifdef sm_10
#define VLIW1
....................
#elif sm_21
#define VLIW2...

And
Code:
class u32x
{
 private:
 public:

 u32 x;
 u32 y;
 u32 z;
 u32 w;
....................
}
And other.

This looks like a Intel SIMD instructions, or VLIW, but I cant find any information about it on NVidia Cuda.

I would be very grateful if you could point me to answer! Thank you!


RE: VLIW on NVidia Cuda - atom - 01-12-2016

VLIW code for NVidia is only required for cheap sm_21 models. Basically Ti series cards < 9xx series, like the 560Ti. It is required to get out maximum performance for those cards. With newer cards you don't need this.

Basically this C++ classes just create code which generates code using the same instructions multiple times in a row but for different data sets. As you said, it's like SIMD.

Note that CUDA is getting replaced with OpenCL with oclHashcat v2.10.