Векторний тип даних описується як ім'я базового типу плюс кількість вимірів, наприклад float4. Даний запис означає, що буде виділена пам'ять під чотири змінні типу float, котрі у оперативній пам'яті будуть розташовані підряд. Над векторними типами можна проводити базові математичні операції типу +,-,*,/ також можна проводити операцію присвоєння. Доступ до певного компоненту типу векторна змінна можна отримати через символ «.» після чого вказується ім'я компоненту.
Використання
OpenCL
У OpenCL векторні типи даних можуть будуватися на основі наступних базових типів даних: [u]char, [u]short, [u]int, [u]long, float, double, half [1]. Стандарт визначає наступну кількість вимірів для векторного типу: 2, 4, 8 та 16. У таблиці нижче наведені імена компонентів з вказаними порядком [2].
Імена v.x, v.y, v.z, v.w, можуть використовуватися лише у векторах розмірністю 2 та 4.
CUDA
У CUDA векторні типи даних розмірності 2, 3 та 4 можуть будуватися на основі наступних базових типів даних: [u]char, [u]short, [u]int, [u]long, float, а також розмірністю 2 на основі типів: [u]longlong, double[3].
Посилання
OpenCL Vector Data Types. OpenCL documentation. Khronos Group.
Відповідь:
Векторний тип даних описується як ім'я базового типу плюс кількість вимірів, наприклад float4. Даний запис означає, що буде виділена пам'ять під чотири змінні типу float, котрі у оперативній пам'яті будуть розташовані підряд. Над векторними типами можна проводити базові математичні операції типу +,-,*,/ також можна проводити операцію присвоєння. Доступ до певного компоненту типу векторна змінна можна отримати через символ «.» після чого вказується ім'я компоненту.
Використання
OpenCL
У OpenCL векторні типи даних можуть будуватися на основі наступних базових типів даних: [u]char, [u]short, [u]int, [u]long, float, double, half [1]. Стандарт визначає наступну кількість вимірів для векторного типу: 2, 4, 8 та 16. У таблиці нижче наведені імена компонентів з вказаними порядком [2].
Ім'я\N 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
floatN v v.x, v.s0 v.y, v.s1 v.z, v.s2 v.w, v.s3 v.s4 v.s5 v.s6 v.s7 v.s8 v.s9 v.sa, v.sA v.sb, v.sB v.sc, v.sC v.sd, v.sD v.se, v.sE v.sf, v.sF
Імена v.x, v.y, v.z, v.w, можуть використовуватися лише у векторах розмірністю 2 та 4.
CUDA
У CUDA векторні типи даних розмірності 2, 3 та 4 можуть будуватися на основі наступних базових типів даних: [u]char, [u]short, [u]int, [u]long, float, а також розмірністю 2 на основі типів: [u]longlong, double[3].
Посилання
OpenCL Vector Data Types. OpenCL documentation. Khronos Group.
OpenCL Vector Dimension. OpenCL quick reference card. Khronos Group.
CUDA Vector Data Types.
Див. також
Добуток Адамара
Структура даних
Пояснення: