Векторний тип даних

Векторний тип даних — багатовимірний тип даних котрий створюється на основі стандартних типів даних. На даний час використовується лише при 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

У 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.
  2. OpenCL Vector Dimension. OpenCL quick reference card. Khronos Group.
  3. CUDA Vector Data Types.

Див. також

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.