Is it possible to use GPU ram as a ram disk?

Kippa

Senior member
Dec 12, 2011
392
1
81
I was just wondering if it is possible to use gpu ram as a ram disk? Ok so when you are gaming you will be using up most of your gpu ram, but when you aren't gaming and are in windows would it be possible to use say 2gb of the 3gb of gfx memory (AMD HD 7970) as a ram disk?

Personally I think it would be nice to be able to use 2gb+ of gpu memory for stuff like creating archives ect having much lower latency than using a standard hard drive.

It would be nice if they had this function added into the Catalyst Control Centre where all you had to do is click a button, specify how much memory you want as a ram disk then create one. I can't see any reason why they couldn't do this.

This would be a big boost to AMD as the 7970 has 1gb more memory than 680s and could create larger ram disks. :D
 

kowalabearhugs

Senior member
Sep 19, 2010
204
8
81
www.mattkowal.net
System ram is relatively cheap. It's not worth it to develop this technology when at best it creates a couple GB ram drive. Said drive would be limited to the ram on the card while a system ram drive is easily upgradable. Those who have a need for extremely fast, low latency drives already have plenty of options on this front. You're looking for a consumer level tweak which is unlikely to happen.
 

DominionSeraph

Diamond Member
Jul 22, 2009
8,386
32
91
AMD can barely write drivers to make their video cards act properly as such. You want them to try getting creative?


Trolling, flamebait, and OT is not allowed
Markfw900
Anandtech Moderator
 
Last edited by a moderator:

Kippa

Senior member
Dec 12, 2011
392
1
81
Personally I think that gfx card memory is going become higher soon. I wouldn't be surprised if there is single gfx card with 6gb+ in the next year or so. Ok so you can use gpu processing for OpenCL, why not use gfx card memory for other purposes? I don't see why not.
 

Sheep221

Golden Member
Oct 28, 2012
1,843
27
81
It is not possible, because graphics memory is addressed different way and it has different purpose, the system RAM is used by system to store raw data from running programs, while video RAM is used only to store graphical data - videos, images, textures, models, basically graphical representation of your screen is also present in the video RAM.
 

jhu

Lifer
Oct 10, 1999
11,918
9
81
It is not possible, because graphics memory is addressed different way and it has different purpose, the system RAM is used by system to store raw data from running programs, while video RAM is used only to store graphical data - videos, images, textures, models, basically graphical representation of your screen is also present in the video RAM.

Wrong. See my post above.
 

Makaveli

Diamond Member
Feb 8, 2002
4,956
1,550
136
Wrong. See my post above.

Your link is talking about linux and the OP i'm going to assume is on a windows machine.

Who would buy a 7970 to game in linux?

So for a windows system the answer is no!

And even if you could it would be a complicated mess to setup properly most likely.

It would be cheaper and make far more logical sense to just go buy more ram!
 

Kippa

Senior member
Dec 12, 2011
392
1
81
Personally I have 24gb of ram installed on my machine (which I do actually use for 3d rendering and video editing) and don't need to use the gfx card ram as a ram disk. What I am saying is that for other people who don't want to or can't buy extra ram, this would be a good feature.

This for me is more about pushing the boundaries and getting the most out of the stuff you use. Ok so it is a gaming graphics card and it could be used for gpu processing, why not push the boundaries and use the ram as well? If in a year or two time the gfx card has 6gb+ just sitting there and you could use it for personal purposes then why not? If someone were to offer me a 6gb+ ram disk for free I know I would take it.
 

SlowSpyder

Lifer
Jan 12, 2005
17,305
1,002
126
AMD can barely write drivers to make their video cards act properly as such. You want them to try getting creative?

No need to try and turn this into a driver fight...


Personally I have 24gb of ram installed on my machine (which I do actually use for 3d rendering and video editing) and don't need to use the gfx card ram as a ram disk. What I am saying is that for other people who don't want to or can't buy extra ram, this would be a good feature.

This for me is more about pushing the boundaries and getting the most out of the stuff you use. Ok so it is a gaming graphics card and it could be used for gpu processing, why not push the boundaries and use the ram as well? If in a year or two time the gfx card has 6gb+ just sitting there and you could use it for personal purposes then why not? If someone were to offer me a 6gb+ ram disk for free I know I would take it.

But if it 'can' be done on Linux, then can't it be done on Windows? Maybe the software doesn't exist yet?
 

Sheep221

Golden Member
Oct 28, 2012
1,843
27
81
Wrong. See my post above.
As we posted both in same time, I read your link later and not counting the fact it is running on linux only, it is also very unreliable and limited function, with no practical use compared to system RAM disk.
It's nice to have fast swap or RAM disk on your home computer but be warned, if a binary driver is loaded for X, it may freeze the whole system or create graphical glitches. Usually there is no way to tell the driver how much memory could be used, so it won't know the upper limit. However, the VESA driver can be used because it provides the possibility to set the video RAM size.

So, Direct Rendering or fast swap. Your choice. Also, due to limitations within the MTD subsystem the max size per device is 256MB.

Unlike motherboard RAM and hard drives, there aren't any known video cards that have ECC memory. This may not be a big deal for graphics rendering, but you definitely don't want to put critical data in it or use this feature on servers.
 

Makaveli

Diamond Member
Feb 8, 2002
4,956
1,550
136
Personally I have 24gb of ram installed on my machine (which I do actually use for 3d rendering and video editing) and don't need to use the gfx card ram as a ram disk. What I am saying is that for other people who don't want to or can't buy extra ram, this would be a good feature.

This for me is more about pushing the boundaries and getting the most out of the stuff you use. Ok so it is a gaming graphics card and it could be used for gpu processing, why not push the boundaries and use the ram as well? If in a year or two time the gfx card has 6gb+ just sitting there and you could use it for personal purposes then why not? If someone were to offer me a 6gb+ ram disk for free I know I would take it.

While it sounds useful, I see a major performance hit.

Instead of accessing the ram in the banks of the motherboard you will create a ram disc that the system has to go through the PCI-E bus and back and forth to use.

Sounds like a performance killer to me plus alot of latency.
 

Kippa

Senior member
Dec 12, 2011
392
1
81
I agree that there will be some latency penalty going of PCIe, but if OCZ can make PCIe ssds that have a read write speed of circa 900 MB/s then surely it can't be too bad even for a graphics cards.
 

Olikan

Platinum Member
Sep 23, 2011
2,023
275
126
I agree that there will be some latency penalty going of PCIe, but if OCZ can make PCIe ssds that have a read write speed of circa 900 MB/s then surely it can't be too bad even for a graphics cards.

this would be insane for APUs

...OH WAIT!
 

notty22

Diamond Member
Jan 1, 2010
3,375
0
0
I agree that there will be some latency penalty going of PCIe, but if OCZ can make PCIe ssds that have a read write speed of circa 900 MB/s then surely it can't be too bad even for a graphics cards.

That can be dismissed by the option of using less system memory and a large virtual page file on that pci-e ssd. The system would not be faster in such a configuration. The kernel of Windows has certain DMA characteristics. For virus/malware protection also.
 

blastingcap

Diamond Member
Sep 16, 2010
6,654
5
76
Your link is talking about linux and the OP i'm going to assume is on a windows machine.

Who would buy a 7970 to game in linux?

So for a windows system the answer is no!

And even if you could it would be a complicated mess to setup properly most likely.

It would be cheaper and make far more logical sense to just go buy more ram!

To be fair, you said "it is not possible," not "it is not possible in Windows" or with any other conditions. And it should be "possible" in Windows.

Of course, "possible" isn't necessarily the same as "useful."
 

SolMiester

Diamond Member
Dec 19, 2004
5,330
17
76
Your link is talking about linux and the OP i'm going to assume is on a windows machine.

Who would buy a 7970 to game in linux?

So for a windows system the answer is no!

And even if you could it would be a complicated mess to setup properly most likely.

It would be cheaper and make far more logical sense to just go buy more ram!
oops, didnt read the link properly
 
Last edited:

Tuna-Fish

Golden Member
Mar 4, 2011
1,640
2,447
136
Your link is talking about linux and the OP i'm going to assume is on a windows machine.

Who would buy a 7970 to game in linux?

So for a windows system the answer is no!

And even if you could it would be a complicated mess to setup properly most likely.

It would be cheaper and make far more logical sense to just go buy more ram!

You are right about all of those. However,

It is not possible, because graphics memory is addressed different way

is entirely false. RAM is RAM, and since you can DMA into and out GPU ram, you can use it however you want. Of course, it rarely makes any sense to use it as anything but a frame/texture/vertex buffer, but there's nothing that makes it technically impossible, or even that hard.

It doesn't even have to be Linux. I could probably write a driver that puts a windows block device in GPU ram in less than a day. It just doesn't exist yet because there's no sense in it. (Whereas, on Linux things don't need a reason to be, they tend to exist if there's no reason for them to not to be. And sometimes despite that. :p )
 

Tuna-Fish

Golden Member
Mar 4, 2011
1,640
2,447
136
As we posted both in same time, I read your link later and not counting the fact it is running on linux only, it is also very unreliable and limited function, with no practical use compared to system RAM disk.

Note that those limitations are mostly ones of implementation method. You could do this safer, and you certainly could build devices larger than 256MB (MTD has since been updated and can deal with pretty much as much space as you want), it's just that it was probably implemented over a couple of hours for the heck of it and no-one bothered to make it more useful.
 

lambchops511

Senior member
Apr 12, 2005
659
0
0
Yes most definitely possible (at least for NVIDIA CUDA cards linux). I could probably write a driver in 2-3 days if I had the time.
 

Magic Carpet

Diamond Member
Oct 2, 2011
3,477
233
106
It can be done but why? and what about PCI-E latencies?

System RAM is likely faster, cheaper and bigger. Buying a video card for these purposes is complete non-sense.
 
Last edited:

ViRGE

Elite Member, Moderator Emeritus
Oct 9, 1999
31,516
167
106
But if it 'can' be done on Linux, then can't it be done on Windows? Maybe the software doesn't exist yet?
It should be possible with something like NVIDIA's TCC drivers, but under normal circumstances I do not believe it could be done in an effective manner. Windows is responsible for managing video memory, so this would get ugly quickly (what do you do when Windows wants to page out part of your RAM disk?).