Skip to main content
GameDev.net gamedev.net
🔒 Locked

hardware-accelerated matrix-calculations

Started by anchelito Jan 21, 2008 at 9:19 AM 5 replies 1.7k views
Original Post
anchelito
anchelito
hey, i read another thread, where someone said, that it was possible to make matrix-calculations via graphic-card just like directx and opengl do. unfortunately nobody said how. i would find this quite interesting, as i would like to have fast matrix-calculations but don't want to depend on opengl or directx. does anybody know how? greetings p.s. here is the quote:
Quote:
Quote: Well, you won't get any faster than the hardware-accelerated matrix multiplication on your graphics card. Is this an option, or must you work in software? Well I'd love to use hardware accelerated matrices but I don't know how to access them other than using OpenGL or DirectX functions that have to do with rendering. I didn't know you could.
Evil Steve
Evil Steve
What thread was that from? You can't access the graphics card ALU hardware from the CPU, and anyway, the time taken to transfer the data to and from the GPU would outweight the benifits of using it. The only hardware I know of that exists on the GPU is for transforming vertices into screen space.
manonoc
manonoc
I think it's this function:
http://www.glprogramming.com/red/chapter13.html#name2

the man page at:
http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/feedbackbuffer.html

but i've read somewhere, that the processus of reading from the GPU is very expensive.

tell us if you do some tests !
anchelito
anchelito
thanks for the replies. i will dig in this when i have a little more free-time in one or two months.

greetings
stonemetal
stonemetal
The way to access GPGPU stuff is hardware Dependant. For Nvidia the library is called CUDA. I don't know what ATI's is called but they should have something similar.
manonoc
manonoc
Quote:
Original post by stonemetal
The way to access GPGPU stuff is hardware Dependant. For Nvidia the library is called CUDA. I don't know what ATI's is called but they should have something similar.


thank you for this infomation.

I've read onto:
http://developer.download.nvidia.com/compute/cuda/1_1/NVIDIA_CUDA_Programming_Guide_1.1.pdf
4.5.1.3 OpenGL Interoperability
OpenGL buffer objects may be mapped into the address space of CUDA, either to enable CUDA to read data written by OpenGL or to enable CUDA to write data for consumption by OpenGL. Section 4.5.2.7 describes how this is done with the runtime API and Section 4.5.3.10, with the driver API.
4.5.1.4 Direct3D Interoperability
Direct3D 9.0 vertex buffers may be mapped into the address space of CUDA, either to enable CUDA to read data written by Direct3D or to enable CUDA to write data for consumption by Direct3D. Section 4.5.2.8 describes how this is done with the runtime API and Section 4.5.2.8, with the driver API.

hardware dependant, but if nvidia do the same thing, buffers can be used (in OpenGL and D3D) in a independant way (and we hope so !)

so if someone have the information about ATI...
e64
e64
These are the other GPGPU technologies:
Stanford Brook GPU, ATI Close to the Metal, Microsoft GPU Accelerator, U. Waterloo/RapidMind Sh

I haven't played with them all myself, but it would seem as if Brook/Sh/Accelerator are "multi-platform" (ie: AMD & nVidia). If you do check them out, a quick summary of your opinion on all would be great to hear.

[Edited by - e64 on January 24, 2008 10:45:10 PM]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.