Hello everyone :D
I’m very new to the CUDA world, but have loved every single second of it!!!
I’m doing an academic project where I am trying to parallelize an encryption algorithm… anyways, in my kernel I am doing something like this:
[codebox]
global void cipher ( unsigned char *state_d, unsigned char *RoundKey_d)
{
// Some other stuff
if( threadIdx.x == 0)
{
// Some other stuff
for(i = 0; i < 4; i++)
{
for(j = 0; j < 4; j++)
{
// Bitwise XOR
state_d[j][i] ^= RoundKey_d[round * Nb * 4 + i * Nb + j];
}
}
// Some other stuff
}
}
[/codebox]
I am using VS2008, and when I press Build, I get this error:
[codebox]error: expression must have arithmetic or enum type[/codebox]
I looked into using atomicXor(), but for some reason the compiler doesn’t not identity the instruction, and doing some further reading, it looks like I do not need the operation to be atomic and as far as I understand, CUDA supports the ^ operator.
Any ideas to what is going on? Or to what I should do?
Thanks in advance!!
:D