Is a ramdisk using video ram rather than system ram possible to create with CUDA? Seems like it would be a modest amount faster than system ram and could be a handy application to some people if possible.
I know it was possible in Linux before to use video RAM as a ramdisk. It will however not be faster than system ram, because it has to transfer the PCI-E bus.
I think nonetheless that it is in principle possible to make a CUDA-ramdisk.
I found this http://hedera.linuxnews.pl/_news/2002/09/03/_long/1445.html
Note that this is old and applies to 32MB PCI cards.
This sounds like a fun (but impractical) hack. The consumer CUDA cards top out at 1 GB of RAM, while 4 GB of DDR2 memory is now $70 $40 and will be much faster since there is no PCI-Express bus involved…
Not sure how this would work on Windows, but on Linux, one could probably find a way to use the Enhanced Network Block Device driver to allow a user-space CUDA program emulate a block device.
A cool idea would be to do this, then write a C function that would let a program use the filesystem on the card’s memory for CUDA programs, so that data doesn’t need to get transferred back to be written to a file. Instead, you could just retrieve the file via the ramdisk whenever you pleased (well, until the system is powered down).
Different CUDA contexts can’t see each other’s global memory, so this wouldn’t work unless the CUDA program impersonating the filesystem also was running your other kernels. That could be kind of awkward, especially since it would mean filesystem queries and the actual computation would have to take place in the same thread.
I was kind of thinking with a CUDA-ramdisk you could manually pre load a game or some game textures to avoid the bottle neck process of loading them on the fly off the hard drive during game play which can cause slow downs and/or stuttering in games. I’m not sure if it would even work the way I’m thinking, but would be great if it did especially as vram sizes continue to increase. There’s all ready are 2GB 9600GT’s available which sounds extremely overkill, but I bet the extra vram could be put to use some how like running multiple mmo accounts at the same time.
Old topic, but it deserves another bump. Cheap sub $100 video cards can now come with 4GB on board memory give it another year or two and we’ll probably see 6GB-8GB on card in the same price range.
Anyway my point being we might as well have access to utilize it outside of strictly gaming or in conjunction with it.
One thing that would be cool to use VRAM for as a ramdisk for a virtual memory pagefile for example. The ramdisk could also be used for a lot of other useful purposes as well like for example a vram based music sampler aka basically a customizable hardware rompler of sorts.
Now obviously you can do the same types of thing with system ram all ready, but the fact is motherboards only support so much system ram and well ram densities only go so high and higher it goes the more expensive it becomes.
If only motherboard would start supporting quad channel memory with 8 dimm slots at economical prices right? Can certainly hope, but don’t for see it happening soon plus in any case you’d be forced to buy a whole new system.
A ramdisk based around vram would be a great thing for consumers and add value to their video cards it would in fact gasp be a feature if only NVidia had some initiative to add a little value to us CUDA users.
Call it a plea call it whatever, but I see the potential of it completely. One thing that would be nice is to allot say 512MB/1GB/1.5GB/2GB whatever really to act as a HD cache. Something similar to the likes of Squid cache proxy or super cache or those new fancy SSD cache drives.
The whole point is VRAM could and should be utilize in some type of consumer friendly beneficial practical manner as some type of storage or caching means to speed up are PC’s considering most of us all ready have the hardware in place.
Feel disappointed with Nvidia’s initiative with CUDA honestly towards consumers. It might be great academically and scientifically or for the knowledgeable programmer type, but for the average consumer it really hasn’t brought a lot to fruition other then basically a bit of hardware accelerated video that decreased CPU usage a bit, but ran fine for most of us before regardless.
I have to wonder if AMD would be more receptive or not to listening to consumers interests and idea’s given the companies financial position NVidia quite frankly is more well off and perhaps in some ways more methodical, but less daring then again maybe I’m wrong about that all I know is customer loyalty only goes so far and the other side of the pastor has been looking greener and greener in recent years or in their case a nice tomato red hue.