Комментировать

очень-очень интересно

что привлекло моё внимание:
1. производительность CPU на double меньше, чем на float / 2 (хотя разница очень маленькая). в теории должно получаться, что dFLOPS >= sFLOPS/2. это следует из того, что сами ADD/MUL требуют одинаковое кол-во тактов и чтения регистров/памяти, но организовать blocking для double проще (особенно для матриц с размерами не 2^x), по крайней мере не сложнее. раньше я всегда это видел на тестах (как только скорость double и float сравнялась Intel Core, AMD K8).
2. удивительно, что разница между G80 и GT200 фактически пропорциональна кол-ву SP. хотя, согласно NV, GT200 научилась-таки реально выполнять ADD/MUL на SFU параллельно с MAD на SP. возможно это требует существенно изменить алгоритм GEMM, но это пока не было сделано.
3. касательно double вообще, здорово, что он появился и хотя бы не медленнее, чем на СPU. это избавляет от необходимости вычислять double на CPU для mixed precision схем.
4. главное. ИМХО брутфорс вроде GEMM нужен всё реже и реже, современные алгоритмы требуют более сложные структуры данных. очень и очень интересно было бы увидеть производительность Sparse BLAS 3 на GPU. особенно в свете того, что вроде как есть готовые примитивы для этого (scatter/gather/prefix sum).