Comments (4)
Thanks a lot, that's super clear now.
from portblas.
When using nvidia GPUs, you need to output PTX instead of the default SPIR. You can do this by adding -DCOMPUTECPP_BITCODE=ptx64
to your CMake. There's not really any way for CMake to determine which to output since that entirely depends on which devices are available at runtime, while this decision must be made at compile time.
from portblas.
Ah gotcha! Thanks for the quick reply. The tests work now for me.
What I do see during compilation with ninja
make -GNinja ../ -DComputeCpp_DIR=$PWD/../../ComputeCpp-CE-2.1.0-x86_64-linux-gnu/ -DCMAKE_INSTALL_PREFIX=$PWD/../local -DBLAS_ENABLE_TESTING=ON -DCOMPUTECPP_BITCODE=ptx64
ninja
is a ton of warnings of the sort
warning: [Computecpp:CC0035]: Intrinsic llvm.fmuladd.v4f32 has been generated in function _ZN4blas4GemmINS_10MatrixViewIfN2cl4sycl8accessorIfLi1ELNS3_6access4modeE2ELNS5_6targetE1ELNS5_11placeholderE1EEEiNS_9col_majorEEESB_Lb0ELb0ELb0ELi64ENS_4TileILi2ELi2ELi4ELi4ELi1ELi1ELi4ELi4EEELb0ELb1EfLb0ELi1ELi1ELi2ELi4ELi1EE13compute_panelILb1EZNSE_4evalE__ns1NS3_7nd_itemILi1EEEEUlRKiSJ_E_PU3AS1fSM_EE__ns1vSK_iiiiiSM_SM_SM_ which is illegal in SPIR and may result in a compilation failure [-Wsycl-undef-func]
Is that related to the more moderate compute capabilities of my nvidia gpu?
And maybe more generally, do you have a suggestion for reading material
for this sort of question?
Thanks!
from portblas.
That warning is likely harmless in this case. Anything that happens at compile time has no knowledge of your hardware, so it's not that. I guess we output the warning because it might go wrong at runtime, in which case there will be a record of it in the compilation log (but likely won't). If you do have failures when trying to run these new binaries, please let us know here!
For reading material, the particular error you had does have a few results on Google, and some of those point to another Codeplay repository and hopefully also our support site. Our site has material about compiling for different devices, which should include Nvidia devices, so that might be what you're looking for!
from portblas.
Related Issues (20)
- ComputeCpp_INCLUDE_DIRS HOT 3
- run test and benchmark test HOT 1
- examples HOT 3
- mix of sycl-blas and sycl kernels HOT 2
- sudo Docker build .
- hipSYCL Compilation Error HOT 3
- Build samples failed with DPC++
- Setting BLAS_ENABLE_CONST_INPUT=OFF has no effect in some places HOT 2
- Incorrect library name for DPC++ sycl-runtime on Windows.
- Generated names for half and double are invalid HOT 1
- [DPC++][SYCL-2020] SYCL-2020 vec breaks SYCL-BLAS
- GEMM gives wrong results with TARGET=INTEL_GPU with DPC++ 2022/10/13 and newer HOT 1
- TRSM should assume unit diagonal when diag arg indicates this
- Reporting a vulnerability HOT 1
- Build fails with -DTUNING_TARGET=POWER_VR due to missing TBSV implementation HOT 2
- Add Gemm Transposed Tests to unit test HOT 1
- Here we can use some heuristics to select better global, local, and // scratch size per device
- Restructuring the blas2_tree.hpp and remove the duplicated code from it. HOT 2
- Small matrix support 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 portblas.