void NetClass::Modulate(vector <synapse> & synapses )
{
int size = synapses.size();
int split = 200 * 0.5;
for(int w=0; w < size; w++)
if(synapses[w].active)
synapses[w].rmod = ((rand_r(seedp) % 200 - split ) / 1000.0);
}
Функция rand_r(seedp)
серьезно расширяет мою программу. В частности, он замедляет меня на 3 раза при серийном запуске и 4.4X при работе на 16 ядрах. rand()
не вариант, потому что он еще хуже. Есть ли что-то, что я могу сделать, чтобы упорядочить это? Если это будет иметь значение, я думаю, что могу потерпеть потерю в статистической случайности. Будет ли предварительная генерация (перед исполнением) списка случайных чисел, а затем загрузка в потоковые стеки?