Jump to content

GPU with dedicated storage

xDchoisauce

So, I was reading the news about Razer Core price leak and whatnot today and had a thought:
Why don't we put a dedicated storage (SSD) for a GPU?

Disclaimer: I understand nothing about how computer components communicate with one another at the coding level, so this may either be already being done or simply impossible.

If you have ever helped your parents troubleshoot a computer over the phone, you know the frustration of trying to imagine where different components are on the hardware side as well as where different icons and buttons are on the software side, and then trying to relay that information to your parents over the phone.

 

But now imagine that you are talking with a friend of yours who knows a thing or two about computer systems. They are unfortunately not trained in professional IT as you do, but they know enough about computers that you don't have to give them a "clear the CMOS. There is a button for it on the upper left corner of the motherboard. The motherboard is the rectangular PCB that's inside your computer. No not the graphics card. No, that's the RAM. Let me send you a picture of what a motherboard looks like." You can simply tell him/her "clear the CMOS."

How much quicker/less draining would the process be on my end?

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

So now leaving the analogy behind, what would it be like if there was a dedicated storage device directly attached to the GPU which stores data necessary for graphics. CPU will still take care of calculating what needs to be displayed where, but instead of having to send all of that data over to the GPU, it simply sends the file location on the GPU side along with the command for where it should go. Then, the GPU will take care of the job of finding the data within its storage, and display it at the location directed.

 

Instead of having 5 librarians search up on a catalog and take a student each to find them their books, why not grant the students themselves the catalogs and have them search for the books, and have just 1 librarian primarily focused on organizing the catalog, granted the students themselves are capable enough to do the task?

EDIT: Especially regarding the Core or other form of eGPU solutions, wouldn't this clear up the traffic in the limited bandwidth?

Link to comment
Share on other sites

Link to post
Share on other sites

External Hard Drives? NAS?

Magical Pineapples


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Link to comment
Share on other sites

Link to post
Share on other sites

it would be to much communication over 1 pcie port to have a full on long term storage (and would be incredibly impractical) on it thats why we have vram (its like regular ram) where it temporarily stores relevant information for the gpu to randomly access but its not long term storage.

Project Iridium:   CPU: Intel 4820K   CPU Cooler: Custom Loop  Motherboard: Asus Rampage IV Black Edition   RAM: Avexir Blitz  Storage: Samsung 840 EVO 250GB SSD and Seagate Barracuda 3TB HDD   GPU: Asus 780 6GB Strix   Case: IN WIN 909   PSU: Corsair RM1000      Project Iridium build log http://linustechtips.com/main/topic/451088-project-iridium-build-log/

 

Link to comment
Share on other sites

Link to post
Share on other sites

This post went from "Lol, he wants to strap an SSD to a GPU" to "Why not" pretty darn fast, especially when laying out the communication in detail. Great analogy with the example as well. I guess Maybach is right, the reason why it's not done on a large scale / for consumer products is practicality. However, the longer I think about it, I see no reason why a GPU should not have direct read access to a storage drive. Yet, all communication runs via the CPU, I think. Unfortunately, I haven't payed as close attention to my Computer Architecture 101 class as I should've (I'm only a software engineer and consultant to be^^), so I can't remember if there is a specific reason, why that is like that, but I guess one can think of architectures, where something like that is possible.

 

As always in science, why ask if you should do something, if you can simply try it out xD I'd be glad if someone with more knowledge in computer architecture could go into more detail regarding this.

 

€: and welcome to the forum, great fist post by the way! :) 

"We cannot change the cards we're dealt - just how we play the hand" - R. Pausch

 

CPU: Ryzen 7 3700X , Cooler: BeQuiet Dark Rock 3 Motherboard: MSI B450 Mortar Titanium RAM: 16 GB Corsair LPX 3200 GPU: EVGA RTX2070 XC Storage: Adata 120GB SSD, SanDisk 1TB SDD, 2TB WD GreenHDD Case: Fractal Design Define Mini C PSU: EVGA Supernova 650GS Peripherals: Master Keys Pro S, Logitech G402 Audio: Schiit Fulla 2 + Sennheiser HD 650. Laptop: Asus Zenbook UX 302

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, Maybach123 said:

it would be to much communication over 1 pcie port to have a full on long term storage (and would be incredibly impractical) on it thats why we have vram (its like regular ram) where it temporarily stores relevant information for the gpu to randomly access but its not long term storage.

But what about in the case of a eGPU like the Core where the communication is already limited to PCIe 3.0 x4 speeds between the GPU and the CPU due to the I/O? The GPU, which HAS the capability to receive information at a x16 bandwidth can utilize the extra bandwidth to communicate with its dedicated storage, allowing the x4 between the CPU and eGPU to focus more on processing.

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Speakerator said:

This post went from "Lol, he wants to strap an SSD to a GPU" to "Why not" pretty darn fast, especially when laying out the communication in detail. Great analogy with the example as well. I guess Maybach is right, the reason why it's not done on a large scale / for consumer products is practicality. However, the longer I think about it, I see no reason why a GPU should not have direct read access to a storage drive. Yet, all communication runs via the CPU, I think. Unfortunately, I haven't payed as close attention to my Computer Architecture 101 class as I should've (I'm only a software engineer and consultant to be^^), so I can't remember if there is a specific reason, why that is like that, but I guess one can think of architectures, where something like that is possible.

 

As always in science, why ask if you should do something, if you can simply try it out xD I'd be glad if someone with more knowledge in computer architecture could go into more detail regarding this.

 

€: and welcome to the forum, great fist post by the way! :) 

Thanks X]
I've been a free-loading reader on the forums for a while but decided to finally become a member myself because this question was eating me up haha.

Yeah, I know nothing about system architecture... So any explanation would be great! :D

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, xDchoisauce said:

But what about in the case of a eGPU like the Core where the communication is already limited to PCIe 3.0 x4 speeds between the GPU and the CPU due to the I/O? The GPU, which HAS the capability to receive information at a x16 bandwidth can utilize the extra bandwidth to communicate with its dedicated storage, allowing the x4 between the CPU and eGPU to focus more on processing.

They just dont need a fully dedicated storage device right now. Im not even sure what the gpu would store on its own ssd or hard drive

Project Iridium:   CPU: Intel 4820K   CPU Cooler: Custom Loop  Motherboard: Asus Rampage IV Black Edition   RAM: Avexir Blitz  Storage: Samsung 840 EVO 250GB SSD and Seagate Barracuda 3TB HDD   GPU: Asus 780 6GB Strix   Case: IN WIN 909   PSU: Corsair RM1000      Project Iridium build log http://linustechtips.com/main/topic/451088-project-iridium-build-log/

 

Link to comment
Share on other sites

Link to post
Share on other sites

so something like 64+GB of super speed SSD storage for all the textures on the graphics card and then some normal storage of your choice for all the scripts and executables? i actiually like the idea but i think it might be hard to acomplish, because the textures would have to be downloaded into another place from everything, but maby you could have a program do that after downloadeing? hmmm its an interesting idea but i imagine there is a reson beyond cost that this hasent ever been on a production graphics card yet

I spent $2500 on building my PC and all i do with it is play no games atm & watch anime at 1080p(finally) watch YT and write essays...  nothing, it just sits there collecting dust...

Builds:

The Toaster Project! Northern Bee!

 

The original LAN PC build log! (Old, dead and replaced by The Toaster Project & 5.0)

Spoiler

"Here is some advice that might have gotten lost somewhere along the way in your life. 

 

#1. Treat others as you would like to be treated.

#2. It's best to keep your mouth shut; and appear to be stupid, rather than open it and remove all doubt.

#3. There is nothing "wrong" with being wrong. Learning from a mistake can be more valuable than not making one in the first place.

 

Follow these simple rules in life, and I promise you, things magically get easier. " - MageTank 31-10-2016

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Bananasplit_00 said:

so something like 64+GB of super speed SSD storage for all the textures on the graphics card and then some normal storage of your choice for all the scripts and executables? i actiually like the idea but i think it might be hard to acomplish, because the textures would have to be downloaded into another place from everything, but maby you could have a program do that after downloadeing? hmmm its an interesting idea but i imagine there is a reson beyond cost that this hasent ever been on a production graphics card yet

I love the way you phrased your last sentence. It makes it feel like my idea is something that is good and on the path of next level of processing hahahaha.

 

In any case, yeah, that's the idea. As I replied to an above comment, I feel like this could be really useful for eGPU solutions since they have a bottlenecking bandwidth connection between the CPU and the GPU.

Link to comment
Share on other sites

Link to post
Share on other sites

They already have high speed, dedicated temporary storage on graphics card: IT'S CALLED THE RAM.

 

Further more, the graphics card can't read anything but it's RAM for actually using it.  Just like how your PC can't directly read the HDD, it has load anything into RAM to actually display it.  Everything has to go into RAM.  With a 16x PCI-Express 3.0 connection  to the system, there's MORE than enough bandwidth to bring in texture data off the storage.

Link to comment
Share on other sites

Link to post
Share on other sites

33 minutes ago, AshleyAshes said:

They already have high speed, dedicated temporary storage on graphics card: IT'S CALLED THE RAM.

 

Further more, the graphics card can't read anything but it's RAM for actually using it.  Just like how your PC can't directly read the HDD, it has load anything into RAM to actually display it.  Everything has to go into RAM.  With a 16x PCI-Express 3.0 connection  to the system, there's MORE than enough bandwidth to bring in texture data off the storage.

Thanks for your answer!

Maybe I should retitle the post, but I wanted to focus more on the external GPU docks like the Razer Core, where the connection between the systemandthe GPU is  much slower (around x4 speeds).

 

On another note, when a game runs, does it constantly need to load the texture data into the RAM, or is it performed just once when the game is loading and retains the texture data until the program is closed?

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, xDchoisauce said:

 

On another note, when a game runs, does it constantly need to load the texture data into the RAM, or is it performed just once when the game is loading and retains the texture data until the program is closed?

Bit of both. Those loading screens in your games? That's when the system is pulling data from the HDD/ssd and putting it in the GPUs RAM. It stays there until the system doesn't need it - eg. the match ends or you move to a new map or level. 

Link to comment
Share on other sites

Link to post
Share on other sites

There's a few problems with your idea.

 

The GPU can only address to it's RAM and that RAM is specialized for GPU computations. It doesn't have the ability to run programs directly, merely the graphical aspect of the program. So, for your idea to work, the GPU would need to sacrifice it's specialization toward ALU function and strap on CPU functions. This takes up valuable space on the card and reduces its performance. Sure, you could place a CPU on the card, but what's the point really if you don't have RAM as well? You're gonna have to communicate across the PCI-E bus to store addresses for the SSD chips after all. So, let's add RAM to the video card too. Cool! Now everything is on the video card. The problem is, you've just designed a video card that isn't upgrade-able and is at least $500 more than the video card was in the first place.

 

You see, everything in your system is extremely specialized. When you load a game from your SSD, the CPU isn't just pointing its finger at the GPU. It's actually executing the program in all aspects except the graphics. It delegates that to the GPU, because it knows the GPU can handle that part of the job the best.

An avid PC Enthusiast for 20 years.

Current Rig: i7-5820k - GTX 980TI SC+ - 32GB Corsair DDR4-3200 - 500GB 850 EVO M.2 - GA-X99-SLI

Kids' Rigs: FX-6300 - GTX 960 - 8GB Corsair DDR3-1600 - 1TB 7200RPM - GA-78LMT-USB3

Wife's Rig: FX-9590 - R9 Fury X - 32GB Corsair DDR3-2400 - 512GB 950 EVO M.2 - Asus 970 PRO Gaming/Aura

Link to comment
Share on other sites

Link to post
Share on other sites

The PCIe bus is fast enougth to handle a GPU and an SDD at the same time. So you can use the normal (SATA) SSD, but you need a good DMA (direct memory access) controller to bypass the CPU.
But it's still better to have the data in the system RAM as it is way faster.

Mineral oil and 40 kg aluminium heat sinks are a perfect combination: 73 cores and a Titan X, Twenty Thousand Leagues Under the Oil

Link to comment
Share on other sites

Link to post
Share on other sites

  • 4 months later...

AMD announced their Radeon Pro SSG (Solid State Graphics), which is a GPU with slots for two m.2 SSDs.

 

"The performance differential was actually more than I expected; reading a file from the SSG SSD array was over 4GB/sec, while reading that same file from the system SSD was only averaging under 900MB/sec, which is lower than what we know 950 Pro can do in sequential reads. After putting some thought into it, I think AMD has hit upon the fact that most M.2 slots on motherboards are routed through the system chipset rather than being directly attached to the CPU. This not only adds another hop of latency, but it means crossing the relatively narrow DMI 3.0 (~PCIe 3.0 x4) link that is shared with everything else attached to the chipset."

 

http://www.anandtech.com/show/10518/amd-announces-radeon-pro-ssg-fiji-with-m2-ssds-onboard

 

Boom.

 

P.S. The application's not exactly what I talked about with texture data and whatnot, but it seems like there is a benefit and a real test going on to seeing the benefit of storage directly attached to a GPU. I'd like to imagine that someone in AMD read my post and got an idea. I just want some bragging rights, guys.

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×