18 ms·
I work at gamedev studio, and we briefly tried CUDA for DXT compression. Now the speedup (the actual compression part was roughly x10 - x20 faster). But there
by malkia 16y ago
I work at gamedev studio, and we briefly tried CUDA for DXT compression. Now the speedup (the actual compression part was roughly x10 - x20 faster).
But there were couple of problems (solvable, but might require changing of habits):
- Once you have CUDA running, you can't Remote Desktop to the machine (you can do VNC). We are still on Vista (and we stared trying this on XP). Things might be better with Windows 7.
Alternative: VNC
- The IT requires every unattended machine to be logged off after 15 minutes. This means that CUDA might stop working for you (no video driver). Same somtimes happen if you do Ctrl+Alt+Del and brought the Task Manager (that's inconsitent - it happens rarely).
- The biggest problem was that there were 2-3 models (DELL, then HP) machines. We always use Intel with NVIDIA, but now and then every machine would convert to DXT the texture data a little bit different. Visually no problem, but this was messing up MD5 sums of the produced image, and locally people were getting different results than the one stored on the cached asset server.
Alternative: Keep the MD5 sums of the source images + arguments for encoding (though this would not detect cases where bad images were encoded).
We had one very smart guy working for 6 months on new radiosity tool. He started with CUDA solution, but moved back to multithreaded/process solution with SSE code. For radisotiy (precomputed lighting for the levels) data we did not kept MD5 sums, so it did not matter.
So for us what worked sanely was OpenMP - speeding up the nvidia compressor by processing blocks with height of 4, and length of the original image - another smart graphics programmer came up with the idea.
That to be said - it's still exciting, but too hard for a lot of common tasks.
- tmurray 16y agoThe Remote Desktop issue is actually fixed as of CUDA 3.2 if you have a Tesla card that is only doing compute (e.g., you're not running a Tesla C2050 as a display card). full disclosure: I work on the CUDA driver stack and the dedicated compute driver for Vista/Win7 is my baby :)
- malkia 16y agoThank you! Thank you! We don't have Tesla's, but I'm dreaming of buying one (or whatever else there is latest and greatest from NVIDIA).