Бұл жазба автоматты түрде аударылған. Бастапқы тіл: Ағылшын
gpu-примитивизмге қайта оралуға шақыру
Есептеу эволюциясының спиралы:
1. Басы-таза математика, ПРОЦЕССОРДАҒЫ цикл: координаттарды алыңыз → функцияны бағалаңыз → пиксель салыңыз. (Ерте демонстрациялар, раймарх эксперименттері).
2. Әлсіз аппараттық құралдарды оңтайландыру-графикалық құбыр пайда болды (шыңдар → растризация → фрагменттер). Бұл шағын автобустарда және шектеулі жабдықта нақты уақыттағы графиканы жасауға мүмкіндік беретін уақытша шешім болды.
3. Есептеу Графикалық Процессорларының кеңеюі жалпы мақсатқа айналды: CUDA, OpenCL, compute шейдерлері. Бірақ сорғыштың астында "ежелгі" оңтайландыру" багажы " қалады — деформациялар, жергілікті ортақ жад, құбыр желісінің логикасы, ол үйлесімділік құбырын құрды және айналдырды.
4. Түбір — Тензор Өзектеріне, Tpu, Npu-ға оралыңыз. Негізінде, "таза циклге" оралайық: миллиардтаған бірдей операциялар, құбырдың мұрасынсыз.
Сұрақ соңында көтеріледі. Неліктен біреуге бұл көп қабатты, күрделі архитектура қажет, ал қысқаша айтқанда, сізге нашар математика қажет және өткенді "оңтайландыру" қажет емес. Неліктен біреуге ОСЫ CUDA ядроларының барлығы қажет, мысалы, қазіргі уақытта шинаның ені қарапайым cos(x*x+y*y)*w, sin(x*x+z*z)*w есептеуге мүмкіндік береді. шейдерлерді пайдалана отырып, раймархинг алгоритмі арқылы мониторға шындықты проекциялау (бірақ әлі де көп есептеу шығындары бар), сонымен қатар аздап оңтайландырумен xd
Барлық қажетті жаппай параллель таза математикалық қозғалтқыш болып табылады.
Соңында таңдау екілік болады. Немесе" ежелгі жолдармен өмір сүруді " жалғастырыңыз — әмбебаптық пен кері үйлесімділік үшін құбырлар мен абстракцияларды сүйреңіз.
Немесе "қайтаруды" қабылдаңыз — заманауи кремний қайтадан тікелей жолға (таза матрицалық ілмектер, формулалар, раймархинг) мүмкіндік береді.
a call to return to gpu-primitivism
A spiral of computation evolution:
1. The beginning — pure math, a loop on the CPU: take coordinates → evaluate a function → draw a pixel. (Early demos, raymarch experiments).
2. Optimization for weak hardware — the graphics pipeline appeared (vertices → rasterization → fragments). It was a workaround to make real-time graphics possible on small buses and limited hardware.
3. Expansion to compute — GPUs became more general-purpose: CUDA, OpenCL, compute shaders. But under the hood, the “ancient "optimization" baggage” remains — warps, local shared memory, pipeline logic, that built and turned around of pipeline of compatibility.
4. Return to the root — Tensor Cores, TPUs, NPUs. In essence, back to the “pure loop”: billions of identical operations, without the legacy of the pipeline.
The question rises in the end. Why someone needs that layered overcomplicated architecture when in nutshell you just need poor math and you don't need "optimisation" of the past. Why someone needs all that CUDA cores for example when nowadays a bus width allows to compute simple cos(x*x+y*y)*w, sin(x*x+z*z)*w to project reality onto monitor with raymarching algorithm using shaders(yet still with a lot of computational overhead), well with a bit of optimization yet xd
All is needed is massively parallel pure math engine.
In the end the choice is binary. Either keep “living on the ancient ways” — dragging pipelines and abstractions for universality and backward compatibility.
Or accept the “return” — that modern silicon allows the direct path again (pure matrix loops, formulas, raymarching).