Assistance with using DirectML from Swift #2
-
In whatever successor to S4TF I make, whether a fork or something entirely new, I would like to add DirectML acceleration. In prior conversation, you said you would be interested if I optimized my work for DirectX. Assuming I can transfer my experience from Metal to DirectX and speed-learn the Windows C++ API, I’ll face a problem. All I can test on is the Intel iGPU of my Mac mini running Bootcamp. DirectML spans GPUs from several vendors, most importantly discrete GPUs. Although I have friends with PCs and others in the OSS community might pitch in, I’m not confident that they’ll respond back quickly. For serious bugs, I might need quick communication feedback loops with someone, and you’re very active on GitHub. In the future, would you have the capacity to test my DirectML acceleration on a variety of DX12 GPUs or assist me in any way? Also, anything you can think of off the top of your mind to make learning Swift + Windows + DirectX easier? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 7 replies
-
I am afraid that I wouldn't be able to help per se. I think that you should be able to use a VM for the testing though as DirectX is often available under emulation. Additionally, you can likely run things under wine if necessary. I would highly recommend that you try to buy a machine with a discrete GPU. As to learning Swift + Windows + DirectX, I would say treat the three as individual things. Swift has a number of rather good resources for learning. As to the Windows specific bits, I would recommend that any basic Windows Programming guide (e.g. Windows Internals by Mark Russinovich), and a similar thing for DirectX (e.g. Introduction to 3D Game Programming with DirectX 12). But, generally speaking, each one of those items are large areas on their own and will require a fair amount of domain specific learning. |
Beta Was this translation helpful? Give feedback.
-
I just need the knowledge to call into the DirectML API for kernels, much like you called into CTensorFlow. Does that still require a massive learning gap?
…Sent from my iPhone
On Jan 19, 2022, at 10:25 PM, Saleem Abdulrasool ***@***.***> wrote:
I am afraid that I wouldn't be able to help per se. I think that you should be able to use a VM for the testing though as DirectX is often available under emulation. Additionally, you can likely run things under wine if necessary. I would highly recommend that you try to buy a machine with a discrete GPU.
As to learning Swift + Windows + DirectX, I would say treat the three as individual things. Swift has a number of rather good resources for learning. As to the Windows specific bits, I would recommend that any basic Windows Programming guide (e.g. Windows Internals by Mark Russinovich), and a similar thing for DirectX (e.g. Introduction to 3D Game Programming with DirectX 12). But, generally speaking, each one of those items are large areas on their own and will require a fair amount of domain specific learning.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.
|
Beta Was this translation helpful? Give feedback.
-
Just curious, would using Windows Subsystem for Linux let me avoid some of the effort needed to learn the Windows API? There are now DirectX and DirectML bindings usable within WSL. |
Beta Was this translation helpful? Give feedback.
I am afraid that I wouldn't be able to help per se. I think that you should be able to use a VM for the testing though as DirectX is often available under emulation. Additionally, you can likely run things under wine if necessary. I would highly recommend that you try to buy a machine with a discrete GPU.
As to learning Swift + Windows + DirectX, I would say treat the three as individual things. Swift has a number of rather good resources for learning. As to the Windows specific bits, I would recommend that any basic Windows Programming guide (e.g. Windows Internals by Mark Russinovich), and a similar thing for DirectX (e.g. Introduction to 3D Game Programming with DirectX 12). But, gener…