Один C2050 дает около 550 GFLOP / с пика, или около 2200 GFLOP / с для 4 пика для двойной точности, и DGEMM значительно ниже пика), так что я бы предположил, что в случае потоков неправильная синхронизация ( вероятно, что-то, что было синхронным в случае потока по умолчанию, теперь асинхронно). Расчет FLOP / s не должен изменяться независимо от того, как вы выполняете вычисления.
Я бы рассмотрел ваш код, чтобы убедиться, что любой используемый вами механизм синхронизации синхронизируется со всеми запускаемыми вами потоками, либо с помощью механизма cudaStreamWaitEvent
для всех потоков, либо cudaStreamSynchronize
для каждого потока. Вполне вероятно, что время выполнения кода выходит за пределы кода, который вы пытаетесь рассчитать до того, как графический процессор завершит операции CUBLAS.