Never one to be 'happy enough'.... with DirectX/OpenGl, I've been looking through the NVidia development systems... (Cuda, PhysX..etc) https://developer.nvidia.com/cuda-zone (https://developer.nvidia.com/cuda-zone)
Most of these type of dev kits, disappointingly, start off at the C/C++ level, but I pleasantly surprised to find PTX assembly on the the NVidia gpu's..
Although PTX looks to have a C-like management structure.. it's instructions are assembly.
Farabi, sometime ago asked whether it was possible to use the gpu as as extra number cruncher...
Yes you can.. and it looks the the parallel gpu's all can be configured 'on the fly'. This is great as the gpu's can be used for other 'applications', besides graphics. They're essentially a couple hundred processors (FPU/Integer) running in parallel === POWER! :dazzled:
So what you can do.. is make your own applications (graphics or other) that run on the GPU chip...
Why re-invent the wheel.... Cos you can and have fun doing it.
I must have a look at other graphics cars and see what they have.
:biggrin:
NVIDIA web site - golden mine of good resources :t
As to " use the gpu as as extra number cruncher" - most interesting thing about it that it was used even in pre-CUDA era.
See :
http://gamma.cs.unc.edu/GPUSORT/
http://gamma.cs.unc.edu/GPUFFTW/
By the way , NVIDIA have added new extensions in OpenGL 4.5
Screenshot below illustrates this technology sample (https://github.com/nvpro-samples/gl_cadscene_rendertechniques)
Still working my way through this..
Asked Nvidia for a 'pure assembler' version of PTX and more explicit info on the GPU cpu's.
I'm probably asking for too much... but if they're ok with this.. I'll be able to play quite nicely...
:biggrin:
Their CUDA toolkit now contains compiler SDK , not sure if that's what you want. A lot of info!
You may join registered developers program ...
PTX reference:
http://docs.nvidia.com/cuda/pdf/ptx_isa_4.1.pdf
Some extras:
Should I look into PTX to optimize my kernel? (http://stackoverflow.com/questions/8080956/should-i-look-into-ptx-to-optimize-my-kernel)
asfermi: An assembler for the NVIDIA Fermi Instruction Set (https://code.google.com/p/asfermi/)
I've done all that...
What I'm looking for is the explicit cpu hardware structure/info (as you get with Intel docs).
One could get this with the Transputer, but Nvidia (also Xmos - I dumped them) have 'relieved' us of this pain... which I naturally require :icon_mrgreen:, by going up a level (they mention this in the docs).
The whole idea is to control (if possible) every aspect of one's code, as it passes through the array of CPUs on the GPU, instead of relying on the compiler to do this for you.
It's essentially the same idea as current FPGA dev kits where you decide, where/how on the chip, the hardware/software executes.
:biggrin:
I think it's closed information.
The only publicly available GPU internals disclosed by NV are here:
ftp://download.nvidia.com/open-gpu-doc/DCB/1/DCB-4.0-Specification.html
Ja.. no reply yet :biggrin: :biggrin:.
Oh well, no harm in trying...
Thanks for the info.. looks interesting.