Jump to content

DirectX 12, Direct Storage 1.1 is coming this year? to take your SSDs!

1 hour ago, Gamer Schnitzel said:

Considering there still won't be a single game using DirectStorage next month I might just skip out on it again unless they're just cheap now.

you likely dont need an expensive SSD or it being NVMe, but unsure. Would need to see tests about it and on highend to lowend systems with different storage solutions. So long the expensive SSD's is not going poorly, compared to cheaper options. It could be that the directstorage would be tricky to get going or have bugs that may leave it to use CPU instead for some reason. Hopefully we see how it goes, when there is something one can test it on, that gives results. Also again, it has to be enabled or disabled in any software you try to use it on. Until hopefully there is a more automatic way of getting it to work.

Link to comment
Share on other sites

Link to post
Share on other sites

56 minutes ago, Quackers101 said:

you likely dont need an expensive SSD or it being NVMe, but unsure.

Currently it must be NVMe as the NVMe protocol I/O queues are used as part of the technology.

Link to comment
Share on other sites

Link to post
Share on other sites

It is funny seeing how the media (and community) seem to feel this is all bout gaming when I fully expect it will mostly be used by professional applications for compute workloads.

Being able to load (and I think DX also supports store) directly from the GPU shaders without cpu overhead will be a BIG deal for compute tasks were you might not have that much compute to do per GB but you need to chug through a LOT of data. Also being able to use pre-existing compression/decompresion HW units that are on the GPU will be a big win on this as well. 

I have not looked into the DX apis for this but I have played around with the Metal equivalent apis that these show some relay nice benefits for GPU compute tasks.

They can even be useful for tasks were you don't have any GPU compute in your application but you have lots of very fast IO needs to load massive files into memory and would benefits from not hitting the cpu while doing this while still having good levels of compression.  (this use case only applies to systems were the GPU and CPU share a RW memory space of course).  The other compute benefits in the Metal apis is the ability to write data back to disk directly from the GPU with compression without hitting cpu.

Link to comment
Share on other sites

Link to post
Share on other sites

44 minutes ago, leadeater said:

Currently it must be NVMe as the NVMe protocol I/O queues are used as part of the technology.

I guess that makes sense from how they worded it. but wish it worked on "all types" of storage.

24 minutes ago, hishnash said:

It is funny seeing how the media (and community) seem to feel this is all bout gaming when I fully expect it will mostly be used by professional applications for compute workloads.

Well since we could be excited for it? doesn't mean that we say it's "just for this". Nvidia might have already used their own solution that does similar in other fields and one of the reasons why they used Nvidia's solution?

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, hishnash said:

It is funny seeing how the media (and community) seem to feel this is all bout gaming when I fully expect it will mostly be used by professional applications for compute workloads.
 

Well for ML, you'd need to write custom decompression kernels since it's doubtful that everything can simply be Zlib compressed. For example to do TTS training, you'd need the GPU to know how to decompress raw PCM to the native storage (eg float32) , FLAC (which most TTS corpus are in), ogg/mp3 (older files), AAC/OPUS (newer wideband audio.) Zlib works pretty well on images, but kinda sucks at audio.

 

It's largely going to be gaming-oriented. Zlib compressed models, textures, shaders, etc. Like think about some games that spend a literal hour "precompiling shaders" (eg Detroit Become Human)

 

There will be ML purposes, but I don't see them being via DS1.1, and since most ML is still CUDA, there isn't even a need to use DS1.1

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, hishnash said:

It is funny seeing how the media (and community) seem to feel this is all bout gaming when I fully expect it will mostly be used by professional applications for compute workloads.

It is for gaming, that's what it was designed for.

 

For compute there is already direct compute access for storage, agesss ago.

 

https://developer.nvidia.com/blog/gpudirect-storage/

Link to comment
Share on other sites

Link to post
Share on other sites

43 minutes ago, Kisai said:

There will be ML purposes, but I don't see them being via DS1.1, and since most ML is still CUDA, there isn't even a need to use DS1.1

For ML you are correct however for other compute situations not all applications only support CUDA. I was not aware that DX Direct storage was limited to just Zlib and you are not able to provide custom shaders or use other compression. Metal3 supports zlib, lzfse, lz4, lzma and lzBitmap along side being able to provide custom shaders.  Most of the compute use cases I have been considering are for data that is local to the application so we are free to use any compression we like. 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, leadeater said:

For compute there is already direct compute access for storage, agesss ago.

 

https://developer.nvidia.com/blog/gpudirect-storage/

The CUDA Nvidia api works well in server envs but for workstation situations it does not have the OS interaction to safely operate on files that are within the NTFS filesystem.  (it might now with these changes MS have made for DS1.1 but did not when it was introduced). 

Link to comment
Share on other sites

Link to post
Share on other sites

23 hours ago, hishnash said:

The CUDA Nvidia api works well in server envs but for workstation situations it does not have the OS interaction to safely operate on files that are within the NTFS filesystem.  (it might now with these changes MS have made for DS1.1 but did not when it was introduced). 

CUDA is CUDA, server or workstation. If you are doing compute and writing a CUDA application then it's all done within that. Filesystem doesn't even matter at all. Not that Windows is really used that much anyway in this area.

 

So long as the storage device supports RDMA, like a NIC does and totally works in Windows too, and the drivers required to make it work are loaded (default supported in Windows) then you are good to go. RDMA over NFS and SMB is also possible, as well as NVMeoF.

 

The reason why DirectX DirectStorage was announced at GDC (Game Developers Conference) is it's a DirectX feature for gaming. It's also why every official demo from Microsoft and Nvidia have been games, and it's also why Unreal Engine has been doing technical demos with it too.

 

I'm not sure how much more you need to see that it is indeed for gaming when from the horses mouth it is said to be for that 🤷‍♂️

Link to comment
Share on other sites

Link to post
Share on other sites

21 hours ago, Quackers101 said:

I guess that makes sense from how they worded it. but wish it worked on "all types" of storage.

 

HDD is just so slow and SATA in itself has severe limitations being unidirectional.

AMD 7950x / Asus Strix B650E / 64GB @ 6000c30 / 2TB Samsung 980 Pro Heatsink 4.0x4 / 7.68TB Samsung PM9A3 / 3.84TB Samsung PM983 / 44TB Synology 1522+ / MSI Gaming Trio 4090 / EVGA G6 1000w /Thermaltake View71 / LG C1 48in OLED

Custom water loop EK Vector AM4, D5 pump, Coolstream 420 radiator

Link to comment
Share on other sites

Link to post
Share on other sites

45 minutes ago, ewitte said:

HDD is just so slow and SATA in itself has severe limitations being unidirectional.

Not only that, but Windows isn't designed for HDDs anymore... since mid-Windows 10 life, Microsoft has been optimizing the OS for SSDs instead.

 

An SSD (of some type) as main drive is a requirement for OEMs to sale a system running Windows 11.

 

So yes, crap drive on the budget end, is what consumers will get, but not an HDD, not anymore! Which I think is fantastic news. A garbage tier SSD is far superior in performance than an HDD. No need to worry about drive errors from drops, or just mechanical failure, fast responsiveness, no defrag issue to really worry about, and most people who uses a budget tier laptop, do more reads than writes. They just surf the web, more than anything.

Link to comment
Share on other sites

Link to post
Share on other sites

49 minutes ago, ewitte said:

SATA in itself has severe limitations being unidirectional.

Just to check there, did you mean unidirectional? I'm pretty sure you can read and write to it, thus it is bidirectional. Is it more like a simplex thing? You can read OR write at a given time, as opposed to duplex where both can happen at the same time. I think ram is simplex also and it isn't really a limitation there.

 

Edit: since I'm unused to the term, I was probably wrong there as I checked again. Simplex is unidirectional. I was thinking half-duplex, where it is bidirectional but one at a time only.

Gaming system: R7 7800X3D, Asus ROG Strix B650E-F Gaming Wifi, Thermalright Phantom Spirit 120 SE ARGB, Corsair Vengeance 2x 32GB 6000C30, RTX 4070, MSI MPG A850G, Fractal Design North, Samsung 990 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Productivity system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, 64GB ram (mixed), RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, random 1080p + 720p displays.
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, ewitte said:

HDD is just so slow and SATA in itself has severe limitations being unidirectional.

I think you are using the wrong terminology

[edit] Original post contained invalid information. I got confused. Apologies. [/edit]

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, porina said:

Just to check there, did you mean unidirectional? I'm pretty sure you can read and write to it, thus it is bidirectional. Is it more like a simplex thing? You can read OR write at a given time, as opposed to duplex where both can happen at the same time. I think ram is simplex also and it isn't really a limitation there.

 

3 hours ago, GoodBytes said:

I think you are using the wrong terminology. SATA is bi-directional. You can read and write at the same time

 

SATA is a single data channel and can read or write at any point in time (half duplex). SAS is dual data channel and can read and write at the same time (full duplex), although to the device interface and controller. If it's an HDD then physically it can only read or write, but if it's Flash then simultaneous read and write is possible.

Link to comment
Share on other sites

Link to post
Share on other sites

33 minutes ago, leadeater said:

SATA is a single data channel and can read or write at any point in time (half duplex). SAS is dual data channel and can read and write at the same time (full duplex), although to the device interface and controller. If it's an HDD then physically it can only read or write, but if it's Flash then simultaneous read and write is possible.

Oh, silly me. Yes, you are 100% correct. I got confused with SATA-Express, which well is just PCIe added to SATA so yea "it's bidirectional".

I was sure it was introduced in SATA-3 when I typed my post... but nope... totally recalled incorrectly. I just validated this.

 

Link to comment
Share on other sites

Link to post
Share on other sites

12 hours ago, GoodBytes said:

Oh, silly me. Yes, you are 100% correct. I got confused with SATA-Express, which well is just PCIe added to SATA so yea "it's bidirectional".

I was sure it was introduced in SATA-3 when I typed my post... but nope... totally recalled incorrectly. I just validated this.

 

All I meant was at the same time.  Something like directstorage is going to have a bad time if it has to keep stopping/starting in read/write operations.

AMD 7950x / Asus Strix B650E / 64GB @ 6000c30 / 2TB Samsung 980 Pro Heatsink 4.0x4 / 7.68TB Samsung PM9A3 / 3.84TB Samsung PM983 / 44TB Synology 1522+ / MSI Gaming Trio 4090 / EVGA G6 1000w /Thermaltake View71 / LG C1 48in OLED

Custom water loop EK Vector AM4, D5 pump, Coolstream 420 radiator

Link to comment
Share on other sites

Link to post
Share on other sites

On 10/14/2022 at 12:09 PM, ZetZet said:

I think the impact for PC games will not be as big as it is for consoles though. If you think about it your average 2022 gaming build will have 32GB of RAM and 8-16GB of VRAM, when consoles have 16 combined RAM. PC's can have slower storage and compensate by stuffing more things into RAM/VRAM. 

 

This feature will come alive when next-gen consoles come out, which is still very far away.

Doesn’t really matter how much RAM a computer has, it still has to decompress and move that data while you play. GPUs are much more efficient at this than your processor. Uncompressed game data is enormous these days, so unless you’re pushing something like 512GB of RAM and recoding the games you play to preload all of it, you’re seeing a significant reduction in CPU utilization.

MacBook Pro 16 i9-9980HK - Radeon Pro 5500m 8GB - 32GB DDR4 - 2TB NVME

iPhone 12 Mini / Sony WH-1000XM4 / Bose Companion 20

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, Roswell said:

Doesn’t really matter how much RAM a computer has, it still has to decompress and move that data while you play. GPUs are much more efficient at this than your processor. Uncompressed game data is enormous these days, so unless you’re pushing something like 512GB of RAM and recoding the games you play to preload all of it, you’re seeing a significant reduction in CPU utilization.

That is true, I think it will help, but it probably won't be a requirement like on PS5 that the storage is fast enough or the game straight up stop working properly. So because of that backwards compatibility it should be less noticeable on PC. And because PCs have more places to buffer, not that it's much more. 

Location: Kaunas, Lithuania, Europe, Earth, Solar System, Local Interstellar Cloud, Local Bubble, Gould Belt, Orion Arm, Milky Way, Milky Way subgroup, Local Group, Virgo Supercluster, Laniakea, Pisces–Cetus Supercluster Complex, Observable universe, Universe.

Spoiler

12700, B660M Mortar DDR4, 32GB 3200C16 Viper Steel, 2TB SN570, EVGA Supernova G6 850W, be quiet! 500FX, EVGA 3070Ti FTW3 Ultra.

 

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...

Late to mention, 24 nov, but AMD on GPUopen posted about Brotli-G

"An open-source compression/decompression standard for digital assets that is compatible with GPU hardware"

https://gpuopen.com/brotli-g-sdk-announce/

 

Quote

The AMD modifications to the Brotli bitstream format are focused on allowing efficient, data-parallel decompression on GPUs and multithreaded CPUs, while still maintaining comparatively high, state-of-the-art compression ratios for general-purpose data. Some of the modifications include:

- Limited the size of chunks to compress (pages) providing the ability to use multiple Compute Units (CUs) on the GPU.

- Implemented parallel Huffman substreams, providing the ability to use SIMD processing.

- Simplified the bitstream format to maximize performance on GPU.

 

decompression algorithm has been implemented as a ‘shader’ program (written in HLSL) that runs on virtually any DirectX®-compatible graphics card. Implementing decompression in shaders takes advantage of the enormous parallel processing power available in modern GPU hardware, to enable incredibly fast decompression speeds.

 

One thing for developers to note is that assets that have already been compressed with Brotli cannot be decompressed with Brotli-G decompressor implementations. To take advantage of Brotli-G, assets must be recompressed using a Brotli-G compatible compressor

 

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...

GDeflate has been officially released to everyone last Tuesday. For those who dont know that is a library object that allow us to compress and decompress assets in a lossless format directly from the GPU core using direct storage to read the bits of the said asset (texture, sound, etc) file on your storage device (HDD, SSD).

 

https://devblogs.microsoft.com/directx/directstorage-gdeflate-reference-implementation-now-available/

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Franck said:

GDeflate has been officially released to everyone last Tuesday. For those who dont know that is a library object that allow us to compress and decompress assets in a lossless format directly from the GPU core using direct storage to read the bits of the said asset (texture, sound, etc) file on your storage device (HDD, SSD).

yeah, but I think AMD will stick with "theirs" or rather the open standard that seems to to be faster in certain settings and not fully sure about the pros and cons of each. as my post above about Brotli-G and brotli wide support.

Edited by Quackers101
Link to comment
Share on other sites

Link to post
Share on other sites

  • 1 month later...

AMD's compressonator 4.3

Now includes new brotli G lossless compression and some more features.

Link to comment
Share on other sites

Link to post
Share on other sites

On 11/10/2022 at 5:54 PM, Quackers101 said:

I guess that makes sense from how they worded it. but wish it worked on "all types" of storage.

This might be a bit late, but I saw it now so I'm going to respond to make sure this is addressed. 
 

DirectStorage works on both SSDs and hard drives. Obviously though NVMe SSDs will work best with the tech, but SATA SSDs and hard drives will work too. 

Quote

Storage Device: DirectStorage enabled games will work on all devices (. You’ll need an NVMe SSD, where the bandwidth capabilities are much higher and the storage media itself is faster, to see the significant improvements of DirectStorage. We highly recommend ensuring your game files are saved to an NVMe to get the best gaming experience.

Italic is mine. 
Source: 

https://devblogs.microsoft.com/directx/directstorage-1-1-coming-soon/

"It pays to keep an open mind, but not so open your brain falls out." - Carl Sagan.

"I can explain it to you, but I can't understand it for you" - Edward I. Koch

Link to comment
Share on other sites

Link to post
Share on other sites

  • 4 months later...

a bit older and newer news. from the upgrade for gen5 nvme SSDs with directstorage 1.2
credit to Compusemble for their testing.
https://www.youtube.com/watch?v=Wt2mZ0cwWo8

 

also the big variations in performance can lead to hard and weird ways to meassure gaming performance, you win and lose some.
firmware, gpu, software and more factors to consider, be it for the fps, pcie and streaming, to load times, speed vs stable stream of data (fps spikes or higher fps "average"). also the temps for the SSD could impact fps.
https://www.youtube.com/watch?v=SC3s0e42C5c

 

Nvidia driver recently changing a bit again!

Edited by Quackers101
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

×