Векторний тип даних описується як ім'я базового типу плюс кількість вимірів, наприклад 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.
Див. також
Добуток Адамара
Структура даних
Пояснення:
1) Цилиндр описанный, => прямоуг.треуг.вписан в окружность, => R равен половине гипотенузы
треугольник равнобедренный, по т.Пифагора
(2R)^2 = 2x^2, где x---катет
R^2 = x^2 / 2
R = x / корень(2)
Sбок.призмы = высота * (x+x+гипотенуза) = 40
2x + 2R = 40/10 = 4
x+R = 2
x = 2-R
R = (2-R) / корень(2)
2-R-Rкорень(2) = 0
2-R(1+корень(2)) = 0
R = 2 / (1+корень(2))
можно избавиться от иррациональности в знаменателе:
домножить числитель и знаменатель на сопряженное выражение (1-корень(2))
R = 2(1-V2) / ((1-V2)(1+V2)) = 2(1-V2) / (1-2) = 2(корень(2) - 1)
2) tgα=h/R, где R-радиус основания конуса, h-высота конуса
Следовательно, h=R*tgα
2)S(сеч)=ah/2=(2Rh)/2=Rh
S(сеч)=Q => Rh=Q =>R*R*tgα=Q
R²tgα=Q
R=√(Q/tgα)
3)L=2ПR
L=2П√(Q/tgα)
3) 24 ( фото с объяснением сверху)
4) Vшара=4пR^3/3
288п=4пR^3/3
R=6
Hцилиндра=2R=12
Sполповцил=2пR(R+H)=216п