Векторний тип даних — багатовимірний тип даних котрий створюється на основі стандартних типів даних. На даний час використовується лише при GPGPU програмування. Багато сучасних відеоадаптерів та центральних процесорів мають вбудовану підтримку векторних типів даних.

Опис

ред.

Векторний тип даних описується як ім'я базового типу плюс кількість вимірів, наприклад 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 векторні типи даних розмірності 2, 3 та 4 можуть будуватися на основі наступних базових типів даних: [u]char, [u]short, [u]int, [u]long, float, а також розмірністю 2 на основі типів: [u]longlong, double[3].

Посилання

ред.
  1. OpenCL Vector Data Types. OpenCL documentation. Khronos Group. Архів оригіналу за 6 липня 2014. Процитовано 4 травня 2014.
  2. OpenCL Vector Dimension (PDF). OpenCL quick reference card. Khronos Group. Архів оригіналу (PDF) за 7 лютого 2014. Процитовано 4 травня 2014.
  3. CUDA Vector Data Types. Архів оригіналу за 4 травня 2014. Процитовано 4 травня 2014.

Див. також

ред.