Собственно пишу прорамму для распределенного вычисления функции:
__device__ BYTE K[16];
__device__ WORD K1, K2, K3, K4 ;
__device__ void SetKey( unsigned char * key )
{
for (i=0;i<16;i++) K[i]=key[i];
}
__global__ void chiper( BYTE *plain, DWORD newkey, DWORD *retdata )
{
SetKey(newkey);
.....
DoCrypt(plain);
....
}
Вот такой вопрос, если я запускаю многопоточный расчет, не накладываются ли у меня массивы K[]
друг на друга?
При одной нити chiper<<1,1>> рабтоает как надо, как только больше одной - мусор в итоге.
Может быть надо определить K[][num of threads] ?
спасибо.