-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TTran - bitsandbytes 0.43 PR #16
Conversation
Saw this PR in my feed and I worked on this before: CMake works just fine with HIP afaik. I made CMake work with a preprocessor solution here a while ago. This is the intended way to use CMake with HIP, at least all projects I follow use it this way. The |
Thanks, let me try to compile this way. On another note, let me try compiling this 0.42 branch and run some unit test. That should be better. Will let you all know when results are ready |
Just tried your CMakeLists and for some reason, I'm having issues with finding headers. I've explicitly told it where by adding Could it be because you're using 5.6 and I'm using 6.0? |
You should not need to target_include_directories this specific. It should be enough to cmake -D CMAKE_PREFIX_PATH=/opt/rocm-6.0.2 (ROCm libraries have full cmake support and based on that it should automatically find the .cmake files. But imo it's not worth it to continue working on this rn before discussing with AMD guys. Upstream currently finalizes device abstraction and then we should discuss this after someone writes an RFC. There are a lot of decisions to be made on how to integrate HIP in the python part already (quickly tried to get it working, but since it's not just a preprocessor solution you actually need a different HipBNBNativeLibrary and a lot of other stuff that needs to be discussed). |
Hi @amathews-amd @Lzy17 @pnunna93 I suggest I write an initial RFC upstream in which we can discuss the ROCm Integration. I already have a rough plan/suggestion in mind. From what I saw the important parts (optimizers, 4 bit) are ready and you're just fixing inaccuracy issues now. Since if it's just that we can already start discussing/working on python integration, documentation and the CICD/github workflows. |
Tried commented out the |
Moving to #18, closing this |
Hello Matthews and the team,
This is my PR with all the changes.
To reproduce my result, you can use CMakeLists.txt. Note that CMakeList doesn't like the .hip extension, so you'll need to change
kernels.hip
->kernels.hip.cpp
,kernels.hiph
->kernels.hip.h
and so on.COMPUTE_BACKEND
should be set tocpu
first and then tohip
. If done correctly, there will be 2 binaries in the bitsandbytes dirlibbitsandbytes_cpu.so
libbitsandbytes_hip_nohipblaslt.so