Skip to content

Commit

Permalink
CLBLAST_noavx2 should only be built on Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
YellowRoseCx committed Dec 11, 2023
1 parent a2b441a commit f13295b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 14 deletions.
6 changes: 2 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -300,8 +300,6 @@ ifeq ($(OS),Windows_NT)
endif
else
DEFAULT_BUILD = $(CXX) $(CXXFLAGS) $^ -shared -o [email protected] $(LDFLAGS)
FAILSAFE_BUILD = $(CXX) $(CXXFLAGS) $^ -shared -o [email protected] $(LDFLAGS)
NOAVX2_BUILD = $(CXX) $(CXXFLAGS) $^ -shared -o [email protected] $(LDFLAGS)

ifdef LLAMA_OPENBLAS
OPENBLAS_BUILD = $(CXX) $(CXXFLAGS) $^ $(ARCH_ADD) -lopenblas -shared -o [email protected] $(LDFLAGS)
Expand Down Expand Up @@ -482,8 +480,8 @@ endif
ifdef CLBLAST_BUILD
koboldcpp_clblast: ggml_clblast.o ggml_v2_clblast.o ggml_v1.o expose.o common.o gpttype_adapter_clblast.o ggml-opencl.o ggml_v2-opencl.o ggml_v2-opencl-legacy.o ggml-quants.o ggml-alloc.o ggml-backend.o grammar-parser.o $(OBJS)
$(CLBLAST_BUILD)
koboldcpp_clblast_noavx2: ggml_clblast_noavx2.o ggml_v2_clblast_noavx2.o ggml_v1_failsafe.o expose.o common.o gpttype_adapter_clblast_noavx2.o ggml-opencl.o ggml_v2-opencl.o ggml_v2-opencl-legacy.o ggml-quants_noavx2.o ggml-alloc.o ggml-backend.o grammar-parser.o $(OBJS)
$(CLBLAST_BUILD)
koboldcpp_clblast_noavx2:
$(DONOTHING)
else
koboldcpp_clblast:
$(DONOTHING)
Expand Down
24 changes: 14 additions & 10 deletions koboldcpp.py
Original file line number Diff line number Diff line change
Expand Up @@ -990,14 +990,18 @@ def show_new_gui():
blasbatchsize_text = ["Don't Batch BLAS","32","64","128","256","512","1024","2048"]
contextsize_text = ["256", "512", "1024", "2048", "3072", "4096", "6144", "8192", "12288", "16384", "24576", "32768", "65536"]
runopts = [opt for lib, opt in lib_option_pairs if file_exists(lib)]
antirunopts = [opt.replace("Use ", "") for lib, opt in lib_option_pairs if not (opt in runopts) and not (opt == "Use CuBLAS" and "Use hipBLAS (ROCm)" in runopts)]
# if os.name != 'nt':
# if "NoAVX2 Mode (Old CPU)" in antirunopts:
# antirunopts.remove("NoAVX2 Mode (Old CPU)")
# if "Failsafe Mode (Old CPU)" in antirunopts:
# antirunopts.remove("Failsafe Mode (Old CPU)")
# if "CLBlast NoAVX2 (Old CPU)" in antirunopts:
# antirunopts.remove("CLBlast NoAVX2 (Old CPU)")
antirunopts = [opt.replace("Use ", "") for lib, opt in lib_option_pairs if not (opt in runopts)]
if "Use CuBLAS" in runopts:
antirunopts.remove("hipBLAS (ROCm)")
if "Use hipBLAS (ROCm)" in runopts:
antirunopts.remove("CuBLAS")
if os.name != 'nt':
if "NoAVX2 Mode (Old CPU)" in antirunopts:
antirunopts.remove("NoAVX2 Mode (Old CPU)")
if "Failsafe Mode (Old CPU)" in antirunopts:
antirunopts.remove("Failsafe Mode (Old CPU)")
if "CLBlast NoAVX2 (Old CPU)" in antirunopts:
antirunopts.remove("CLBlast NoAVX2 (Old CPU)")
if not any(runopts):
exitcounter = 999
show_gui_msgbox("No Backends Available!","KoboldCPP couldn't locate any backends to use (i.e Default, OpenBLAS, CLBlast, CuBLAS).\n\nTo use the program, please run the 'make' command from the directory.")
Expand Down Expand Up @@ -1366,12 +1370,12 @@ def hide_tooltip(event):
tooltip.withdraw()

def setup_backend_tooltip(parent):
num_backends_built = makelabel(parent, str(len(runopts)) + f"/{7 if os.name == 'nt' else 7}", 5, 2)
num_backends_built = makelabel(parent, str(len(runopts)) + f"/{7 if os.name == 'nt' else 4}", 5, 2)
num_backends_built.grid(row=1, column=1, padx=195, pady=0)
num_backends_built.configure(text_color="#00ff00")
# Bind the backend count label with the tooltip function
nl = '\n'
num_backends_built.bind("<Enter>", lambda event: show_tooltip(event, f"Number of backends you have built and available." + (f"\n\nMissing Backends: \n\n{nl.join(antirunopts)}" if len(runopts) != 7 else "")))
num_backends_built.bind("<Enter>", lambda event: show_tooltip(event, f"Number of backends you have built and available." + (f"\n\nMissing Backends: \n\n{nl.join(antirunopts)}" if len(runopts) != 4 else "")))
num_backends_built.bind("<Leave>", hide_tooltip)

# # Vars - should be in scope to be used by multiple widgets
Expand Down

0 comments on commit f13295b

Please sign in to comment.