Comments (17)
Should I upgrade my gcc version up to gcc-11 or gcc-12?
from antares.
Hi, antares is a compiler that can make your custom DNN computation (e.g. matmul/..) runnable on Windows ROCm. You can follow examples below to see how antares work for Windows ROCm:
# Save Runnable Source code as file
BACKEND=c-rocm_win64 antares save ./kernel_example.cpp
# Reproduce kernel evaluation based on an early saved source code:
BACKEND=c-rocm_win64 antares eval ./kernel_example.cpp
# Freeze kernels and compiled into edge-side binaries:
BACKEND=c-rocm_win64 antares compile ./kernel_example.cpp ./output-dest/
# Build solution in destination directory:
cd ./output-dest && make
from antares.
Hi, Antares is a compiler that can make your custom DNN computation (e.g. matmul/..) runnable on Windows ROCm. You can follow examples below to see how antares work for Windows ROCm:
# Save Runnable Source code as file BACKEND=c-rocm_win64 antares save ./kernel_example.cpp # Reproduce kernel evaluation based on an early saved source code: BACKEND=c-rocm_win64 antares eval ./kernel_example.cpp # Freeze kernels and compiled into edge-side binaries: BACKEND=c-rocm_win64 antares compile ./kernel_example.cpp ./output-dest/ # Build solution in destination directory: cd ./output-dest && make
Hi, how can I solve this error: "error: ‘CHECK_EQ’ was not declared in this scope; did you mean ‘CHECK_OK’?", when I use "AMDGFX=gfx1031 BACKEND=c-rocm_win64 Antares torch-setup"?
from antares.
Besides, your command returned this error:
from antares.
Oh, you need export AMDGFX=gfx1031
for your GPU model.
from antares.
Oh, you need
export AMDGFX=gfx1031
for your GPU model.
And how can I solve this error: "error: ‘CHECK_EQ’ was not declared in this scope; did you mean ‘CHECK_OK’?", when I use "AMDGFX=gfx1031 BACKEND=c-rocm_win64 Antares torch-setup"?
I have upgrade my gcc and g++ and g++-mingw-w64-x86-64 to version 11 that supports C++17.
But it still gave many errors when I setup Antares plugin for pytorch.
(All the errors came from the backend.hpp of Antares.)
I'll be happy to hear from you!
Thanks a lot!
from antares.
antares torch-setup
is only for "Pytorch CPU/CUDA/ROCm for Linux", since no such Pytorch ROCm build for Windows exists for Antares to be as its plugin, even though Antares itself can produce user-defined standalone Windows ROCm kernels & executable that is runnable on Windows without depending on Pytorch.
from antares.
antares torch-setup
is only for "Pytorch CPU/CUDA/ROCm for Linux", since no such Pytorch ROCm build for Windows exists for Antares to be as its plugin, even though Antares itself can produce user-defined standalone Windows ROCm kernels & executable that is runnable on Windows without depending on Pytorch.
So, I still cannot run PyTorch ROCm version in WSL2 with Antares?
from antares.
You can run custom computation with ROCm, but cannot run Linux-based Pytorch ROCm,
from antares.
Public Pytorch ROCm for Linux doesn't contain GPU codes for gfx1031, so it is impossible for you to use it in this way.
We're going to publish "Antares plugin for Pytorch CPU for Windows to extend ROCm ops", as this is possible to make native Windows Pytorch to utilize ROCm gfx1031 without WSL needed. But every operator computation has to be customized and generated by you according to standard Antares usage.
from antares.
Public Pytorch ROCm for Linux doesn't contain GPU codes for gfx1031, so it is impossible for you to use it in this way. We're going to publish "Antares plugin for Pytorch CPU for Windows to extend ROCm ops", as this is possible to make native Windows Pytorch to utilize ROCm gfx1031 without WSL needed. But every operator computation has to be customized and generated by you according to standard Antares usage.
I noticed another program of Microsoft, PyTorch-DirectML, which can allow me to run PyTorch on AMD GPU. But it does not support many operators. For example, it does not support "aten::index_select" when I run a seq2seq model for the first time. And after 6 months I submitted an issue to them, they upgraded their version and support it now. As I ran seq2seq again, it returned it does not support another one, "aten::scatter_add.out". It really exhausts me.
You said, "every operator computation has to be customized and generated by you according to standard Antares usage.".
Do you mean that I had to override all the operators of PyTorch when I want to use it?
Will "Antares plugin for Pytorch CPU for Windows" support all the native and original PyTorch operators?
from antares.
Public Pytorch ROCm for Linux doesn't contain GPU codes for gfx1031, so it is impossible for you to use it in this way. We're going to publish "Antares plugin for Pytorch CPU for Windows to extend ROCm ops", as this is possible to make native Windows Pytorch to utilize ROCm gfx1031 without WSL needed. But every operator computation has to be customized and generated by you according to standard Antares usage.
Besides, you said that "Public Pytorch ROCm for Linux doesn't contain GPU codes for gfx1031".
So, if gfx1030 GPU (RX 6800) substitutes for my gfx1031 GPU (RX 6700XT), will it work? I know ROCm supports gfx1030 natively.
from antares.
Public Pytorch ROCm for Linux doesn't contain GPU codes for gfx1031, so it is impossible for you to use it in this way. We're going to publish "Antares plugin for Pytorch CPU for Windows to extend ROCm ops", as this is possible to make native Windows Pytorch to utilize ROCm gfx1031 without WSL needed. But every operator computation has to be customized and generated by you according to standard Antares usage.
Besides, you said that "Public Pytorch ROCm for Linux doesn't contain GPU codes for gfx1031". So, if gfx1030 GPU (RX 6800) substitutes for my gfx1031 GPU (RX 6700XT), will it work? I know ROCm supports gfx1030 natively.
If you install a prebuilt Pytorch ROCm with gfx1030 bincode included, it should be possible by a virtual stack between WSL and Windows ROCm driver, but it is not relevant to Antares.
from antares.
Public Pytorch ROCm for Linux doesn't contain GPU codes for gfx1031, so it is impossible for you to use it in this way. We're going to publish "Antares plugin for Pytorch CPU for Windows to extend ROCm ops", as this is possible to make native Windows Pytorch to utilize ROCm gfx1031 without WSL needed. But every operator computation has to be customized and generated by you according to standard Antares usage.
I noticed another program of Microsoft, PyTorch-DirectML, which can allow me to run PyTorch on AMD GPU. But it does not support many operators. For example, it does not support "aten::index_select" when I run a seq2seq model for the first time. And after 6 months I submitted an issue to them, they upgraded their version and support it now. As I ran seq2seq again, it returned it does not support another one, "aten::scatter_add.out". It really exhausts me.
You said, "every operator computation has to be customized and generated by you according to standard Antares usage.". Do you mean that I had to override all the operators of PyTorch when I want to use it?
Will "Antares plugin for Pytorch CPU for Windows" support all the native and original PyTorch operators?
Yes, DirectML lacks many ops, and it should be the same for Antares, but Antares allows yourself to extend those missing ops, instead of waiting for DirectML developers to do this extension.
from antares.
Public Pytorch ROCm for Linux doesn't contain GPU codes for gfx1031, so it is impossible for you to use it in this way. We're going to publish "Antares plugin for Pytorch CPU for Windows to extend ROCm ops", as this is possible to make native Windows Pytorch to utilize ROCm gfx1031 without WSL needed. But every operator computation has to be customized and generated by you according to standard Antares usage.
Besides, you said that "Public Pytorch ROCm for Linux doesn't contain GPU codes for gfx1031". So, if gfx1030 GPU (RX 6800) substitutes for my gfx1031 GPU (RX 6700XT), will it work? I know ROCm supports gfx1030 natively.
If you install a prebuilt Pytorch ROCm with gfx1030 bincode included, it should be possible by a virtual stack between WSL and Windows ROCm driver, but it is not relevant to Antares.
So, you mean ROCm or PyTorch ROCm natively supports WSL with gfx1030?
And the last question: What is antares torch-setup used for? What can I do with it?
from antares.
So, you mean ROCm or PyTorch ROCm natively supports WSL with gfx1030?
- Nop, you still a virtual stack, and I think no one has time to develop this currently.
And the last question: What is antares torch-setup used for? What can I do with it?
- Previous
antares torch-setup
is for Pytorch Linux only. In WSL environment, you Pytorch usually enable CPU device only, soantares torch-setup
can extend CPU ops for that Pytorch.
from antares.
So, you mean ROCm or PyTorch ROCm natively supports WSL with gfx1030?
- Nop, you still a virtual stack, and I think no one has time to develop this currently.
And the last question: What is antares torch-setup used for? What can I do with it?
antares torch-setup
is for Pytorch Linux only. In WSL environment, you Pytorch usually enable CPU device only, soantares torch-setup
can extend CPU ops for that Pytorch.
Virtual stack? Like GPU-PV on Hyper-V that the virtual machine can use GPU directly? I have tried it, but it failed. It seems that Cross-OS GPU-PV does not exist (physical machine is Windows, and virtual machine is Ubuntu)
from antares.
Related Issues (20)
- Usage with Rocm windows for hip code compilation and documentation HOT 49
- gfx 1031 hip kernel crash HOT 1
- Running ROCm computations on Windows over AMD GPU HOT 14
- This repo is missing important files
- Change the cache directory HOT 4
- [BUG] Tune a bert-base-fp16 failed HOT 1
- [Help Request] How can Antares IR support stride size > 1 's Slice operation? HOT 3
- Can antares assign specified gpus for evaluation? HOT 1
- how can antares surport loop which index doesn't start with 0 HOT 5
- Benchmarks HOT 3
- is it possible c-ocl_*_win64 HOT 15
- Not an issue but a question due to lack of docs. HOT 1
- Fail to compile, when I use "AMDGFX=gfx1031 BACKEND=c-rocm_win64 antares" HOT 9
- The residue of the last issue (#365)
- Assertion error: SDK for `c-rocm_win64` is not configured correctly, HOT 3
- Is this project based on AI? What is the goal of this project? HOT 3
- will this project replace torch-directml? HOT 2
- Is ROCm no longer supported by 0.9.x? HOT 16
- Lack operator implementation for DirectX: torch.abs() HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from antares.