4D вектор
В інформатиці 4D вектор – це 4-компонентний векторний тип даних. Використання включає однорідні координати для тривимірного простору в комп’ютерній графіці та значення червоно-зелено-синього альфа (RGBA) для растрових зображень із кольоровим i альфа-каналом (як такі, вони широко використовуються в комп’ютерній графіці). Вони також можуть представляти кватерніони (корисно для обертання), хоча алгебра, яку вони визначають, інша.
Підтримка комп'ютерного обладнання
Деякі мікропроцесори мають апаратну підтримку 4D-векторів з інструкціями, що мають справу з інструкціями з 4 смугами одиночного потоку команд з множинним потоком даних (SIMD), зазвичай із 128-бітним шляхом даних i 32-бітними полями з плаваючою комою. [1]
Спеціальні інструкції (наприклад, 4-елементний скалярний добуток) можуть полегшити використання одного 128-бітного регістра для представлення 4D-вектора. Наприклад, у хронологічному порядку: Hitachi SH4, розширення PowerPC VMX128[2] i Intel X86 SSE4[3].
Деякі 4-елементні векторні механізми (наприклад, векторні модулі PS2) пішли далі з можливістю транслювати компоненти як кілька джерел i підтримкою векторного добутку. [4][5] Попередні покоління конвеєрів шейдерів графічного процесора використовували набори інструкцій з дуже довгими командними словами (VLIW), призначені для подібних операцій.
Підтримка програмного забезпечення
Використання SIMD для 4D-векторів можна зручно обернути в бібліотеку векторної математики (зазвичай реалізовану в C або C++)[6][7][8], яка зазвичай використовується в розробці відеоігор, разом із підтримкою матриці 4×4. Вони відрізняються від більш загальних бібліотек лінійної алгебри в інших областях, які зосереджуються на матрицях довільного розміру. Такі бібліотеки іноді підтримують 3D-вектори, додані до 4D, або завантажують 3D-дані в 4D-реєстри, з арифметикою, яка ефективно відображається в операціях SIMD за допомогою реалізації вбудованих функцій для кожної платформи. Існує вибір між підходами масива структур (AOS) i структури масивів (SOA), враховуючи наявність 4-елементних регістрів, проти інструкцій SIMD, які зазвичай налаштовані на однорідні дані.
Мови затінення для програмування графічного процесора (GPU) зазвичай мають 4D-типи даних (разом з 2D, 3D) із засобами доступу , включаючи перестановку або доступ з перемиканням, наприклад, що дозволяють легко міняти місцями формати RGBA або ARGB, отримувати доступ до двох 2D-векторів, упакованих в один 4D-вектор, тощо.[9] Сучасні графічні процесори з тих пір перейшли до скалярних конвеєрів з одиночного потоку команд з декількома потоками даних (SIMT) (для більшої ефективності в обчисленнях загального призначення на графічних процесорах (GPGPU)), але все ще підтримують цю модель програмування.[10]
Див. також
Примітки
- ↑ Jeffers, Jim; Reinders, James; Sodani, Avinash (2016). Vectorization with AVX-512 intrinsics. Intel Xeon Phi Processor High Performance Programming. Elsevier. с. 269—296. ISBN 978-0-12-809194-4.
- ↑ Xbox. Game Console Hacking. Elsevier. 2004. с. 87—146. ISBN 978-1-931836-31-9.
- ↑ Hickmann, Brian; Chen, Jieasheng; Rotzin, Michael; Yang, Andrew; Urbanski, Maciej; Avancha, Sasikanth (2020–06). Intel Nervana Neural Network Processor-T (NNP-T) Fused Floating Point Many-Term Dot Product. 2020 IEEE 27th Symposium on Computer Arithmetic (ARITH). IEEE. с. 133—136. doi:10.1109/arith48897.2020.00029. Процитовано 12 лютого 2025.
{{cite news}}: Обслуговування CS1: Сторінки з неправильним форматом в діапазонах дат (посилання) - ↑ doi.org (PDF) https://doi.org/10.1107/s1600576719012159/vh5104sup1.pdf. Процитовано 12 лютого 2025.
{{cite web}}: Пропущений або порожній|title=(довідка) - ↑ Simalango, Mikael Fernandus; Oh, Sangyoon (2010). Feasibility Study and Experience on Using Cloud Infrastructure and Platform for Scientific Computing. Handbook of Cloud Computing. Boston, MA: Springer US. с. 535—551. ISBN 978-1-4419-6523-3.
- ↑ SCE Solar Corona Experiment. SCE Solar Corona Experiment. Процитовано 12 лютого 2025.
- ↑ Selmi, Bilel (2020–06). Multifractal dimensions of vector-valued non-Gibbs measures. General Letters in Mathematics. Т. 8, № 2. с. 51—66. doi:10.31559/glm2020.8.2.3. ISSN 2519-9269. Процитовано 12 лютого 2025.
{{cite news}}: Обслуговування CS1: Сторінки з неправильним форматом в діапазонах дат (посилання) - ↑ Goodmann, Peter. Using Microsoft Directx In A Dsp Laboratory. 2005 Annual Conference Proceedings. ASEE Conferences. с. 10.1417.1–10.1417.8. doi:10.18260/1-2--15198. Процитовано 12 лютого 2025.
- ↑ Kemper, A.; Kossmann, D. Adaptable pointer swizzling strategies in object bases. Proceedings of IEEE 9th International Conference on Data Engineering. IEEE Comput. Soc. Press. с. 155—162. doi:10.1109/icde.1993.344067. Процитовано 12 лютого 2025.
- ↑ Mantor, Mike (2012–08). AMD Radeon™ HD 7970 with graphics core next (GCN) architecture. 2012 IEEE Hot Chips 24 Symposium (HCS). IEEE. с. 1—35. doi:10.1109/hotchips.2012.7476485. Процитовано 12 лютого 2025.
{{cite news}}: Обслуговування CS1: Сторінки з неправильним форматом в діапазонах дат (посилання)
Джерело: стаття у Вікіпедії та історія редагувань (автори).