-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
CUDA kernels from PEFT v0.11.0 breaks C++ compilation #1738
Comments
I made a repo to comment out BOFT for now - https://github.com/danielhanchen/peft And repro which worked after comment it out: https://colab.research.google.com/drive/1Y_MdJnS73hIlR_t2DXgXCgqKVwXHPE82?usp=sharing |
I manually added the below to every line and tried isolating the problem: def install_llama_cpp_blocking(use_cuda = True):
import subprocess
import os
import psutil
# https://github.com/ggerganov/llama.cpp/issues/7062
# Weirdly GPU conversion for GGUF breaks??
# use_cuda = "LLAMA_CUDA=1" if use_cuda else ""
commands = [
"git clone --recursive https://github.com/ggerganov/llama.cpp",
"make clean -C llama.cpp",
# https://github.com/ggerganov/llama.cpp/issues/7062
# Weirdly GPU conversion for GGUF breaks??
# f"{use_cuda} make all -j{psutil.cpu_count()*2} -C llama.cpp",
f"make all -j{psutil.cpu_count()*2} -C llama.cpp",
"pip install gguf protobuf",
]
# if os.path.exists("llama.cpp"): return
for command in commands:
with subprocess.Popen(command, shell = True, stdout = subprocess.PIPE, stderr = subprocess.STDOUT, bufsize = 1) as sp:
for line in sp.stdout:
line = line.decode("utf-8", errors = "replace")
if "undefined reference" in line:
raise RuntimeError("Failed compiling llama.cpp")
# print(line, flush = True, end = "")
pass
pass
pass |
Running this Python script reproduces the error on my machine: import os
import subprocess
from peft import PeftModelForCausalLM
os.chdir("/tmp/")
commands = [
"git clone --recursive https://github.com/ggerganov/llama.cpp",
"make clean -C llama.cpp",
"make all -j4 -C llama.cpp",
"echo $?",
]
for command in commands:
with subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=1) as sp:
for line in sp.stdout:
line = line.decode("utf-8", errors = "replace")
print(line, end = "")
if "undefined reference" in line:
raise RuntimeError("Failed compiling llama.cpp")
print(f"-------------- finished: {command} --------------")
print("done") |
Commenting out these lines seems to fix it for me: peft/src/peft/tuners/boft/layer.py Lines 34 to 35 in ae1ae20
|
System Info
Who can help?
Information
Tasks
examples
folderReproduction
As reported to us by @danielhanchen
Ping @yfeng95 @Zeju1997 @YuliangXiu
Expected behavior
We may have to remove the kernels in a patch release if there is no quick solution.
The text was updated successfully, but these errors were encountered: