Geforce RTX3070 Mobile, 8GB of 256bit GDDR6 (448 GB/s bandwidth) laying around doing nothing, why not test it?
Bad performance, but a good idea. For a proof-of-concept software, it's quite amazing. Imagine how it would perform with proper optimizations. By the way, I also tested building a ramdisk in the normal system RAM, and the performance was almost as bad as with VRAM, which means ImDisk Virtual Disk Driver is not a good ramdisk driver. It also means GpuRamDrive isn't the only one to blame for this bad performance.
Also, using VRAM as the cache means you can NOT USE system RAM for PrimoCache, and the more available system RAM, the better. People with less RAM but lots of unused VRAM could have the best of both worlds. Also, you could make some kind of administration to switch VRAM cache on and off if the GPU starts using more VRAM. Or turn the VRAM cache off (or on) by an executables list.
You guys are missing 2 important technologies available today that would definitely help using VRAM as a cache: Resizable BAR and DirectStorage.
1. Resizable BAR:
https://www.rockpapershotgun.com/what-i ... you-use-it
https://docs.microsoft.com/en-us/window ... ar-support
https://en.wikipedia.org/wiki/PCI_configuration_space
2. DirectStorage:
https://devblogs.microsoft.com/directx/ ... ing-to-pc/
https://devblogs.microsoft.com/directx/ ... ble-on-pc/
2.1. Nvidia RTX IO (Nvidia's DirectStorage implementation):
https://techreport.com/news/3473104/wha ... ia-rtx-io/
2.2. AMD Smart Access Storage (AMD's DirectStorage implementation):
https://www.digitaltrends.com/computing ... s-storage/
And if you compare the raw speeds of the PCI Express 4.0 x16 link against DDR4-3200 (my laptop uses both), PCI Express has the upper hand:
DDR4 3200: 25600
MB/s (
https://en.wikipedia.org/wiki/DDR4_SDRAM)
PCI Express 4.0 x16: 31.5
GB/s (
https://en.wikipedia.org/wiki/PCI_Express)
So I think it's worth to give it a go, using these newest technologies.
Here are my results with a 1280MB GpuRamDrive:
------------------------------------------------------------------------------
CrystalDiskMark 8.0.4 x64 (C) 2007-2021 hiyohiyo
Crystal Dew World:
https://crystalmark.info/
------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes
[Read]
SEQ 1MiB (Q= 8, T= 1): 2150.918 MB/s [ 2051.3 IOPS] < 3758.15 us>
SEQ 1MiB (Q= 1, T= 1): 1997.493 MB/s [ 1905.0 IOPS] < 524.66 us>
RND 4KiB (Q= 32, T= 1): 267.776 MB/s [ 65375.0 IOPS] < 473.60 us>
RND 4KiB (Q= 1, T= 1): 129.255 MB/s [ 31556.4 IOPS] < 31.59 us>
[Write]
SEQ 1MiB (Q= 8, T= 1): 3145.389 MB/s [ 2999.7 IOPS] < 2448.16 us>
SEQ 1MiB (Q= 1, T= 1): 2904.572 MB/s [ 2770.0 IOPS] < 360.73 us>
RND 4KiB (Q= 32, T= 1): 382.770 MB/s [ 93449.7 IOPS] < 331.38 us>
RND 4KiB (Q= 1, T= 1): 152.177 MB/s [ 37152.6 IOPS] < 26.80 us>
[Mix] Read 70%/Write 30%
SEQ 1MiB (Q= 8, T= 1): 2218.394 MB/s [ 2115.6 IOPS] < 3757.53 us>
SEQ 1MiB (Q= 1, T= 1): 2121.866 MB/s [ 2023.6 IOPS] < 493.77 us>
RND 4KiB (Q= 32, T= 1): 279.845 MB/s [ 68321.5 IOPS] < 453.09 us>
RND 4KiB (Q= 1, T= 1): 135.992 MB/s [ 33201.2 IOPS] < 30.01 us>
Profile: Default
Test: 1 GiB (x5) [R: 0% (0/1280MiB)]
Mode: [Admin]
Time: Measure 5 sec / Interval 5 sec
Date: 2022/07/16 17:35:43
OS: Windows 11 [10.0 Build 22000] (x64)