2014-01-05 2 views
2

Я думал, что поскольку CUDA может выполнять 64-разрядную 128-битную загрузку/хранение, у нее могут быть некоторые возможности для добавления/вычитания/etc. таких как float3, в меньшем количестве инструкций, таких как SSE.Имеет ли CUDA функции векторной операции?

Имеет ли CUDA какие-либо функции?

ответ

1

Нет, это не так. Каждый поток (как и Kepler) может запускать только одну операцию с плавающей запятой с одной точностью за раз, за ​​исключением FMA, которая может выполнять 1 умножение и 1 сложение в одной команде (z = a * x + y).

+5

Не совсем верно: есть некоторые так называемые SIMD Video Instructions, работающие на двух 16-битных или четырех 8-битных словах. Если я правильно помню, они были представлены с Кеплером, см. Также: http://docs.nvidia.com/cuda/pdf/ptx_isa_3.2.pdf стр. 178 – kunzmi

+4

Для готовых к использованию функций обертки для этих «инструкций для SIMD-видео» », проверьте: https://devtalk.nvidia.com/default/topic/535684/announcements/release-1-1-of-simd-in-a-word-functions-posted/ – njuffa

Смежные вопросы