Skip to content

Commit 802b59e

Browse files
committed
fix build
1 parent 909d90d commit 802b59e

3 files changed

Lines changed: 55 additions & 36 deletions

File tree

CMakeLists.txt

Lines changed: 39 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,21 @@ if (DEFINED ENV{ONEAPI_ROOT})
8585
set(UMF_ROOT "$ENV{UMF_ROOT}")
8686

8787
#message(STATUS ${MKLROOT}/lib)
88-
# message(STATUS ${DNNLROOT}/lib)
89-
# message(STATUS ${TBBROOT}/lib)
90-
91-
# message(STATUS "$ENV{LD_LIBRARY_PATH}")
88+
#message(STATUS ${DNNLROOT}/lib)
89+
#message(STATUS ${TBBROOT}/lib)
90+
#message(STATUS "$ENV{LD_LIBRARY_PATH}")
9291

9392
set(OLLAMA_SYCL_INSTALL_DIR ${OLLAMA_INSTALL_DIR}/sycl)
9493

94+
IF (WIN32)
95+
set(FILE_FOLDER "bin")
96+
ELSE()
97+
set(FILE_FOLDER "lib")
98+
ENDIF()
99+
95100
install(TARGETS ggml-sycl
96101
RUNTIME_DEPENDENCIES
97-
DIRECTORIES ${TBBROOT}/lib/ ${DNNLROOT}/lib ${MKLROOT}/lib ${CMPLR_ROOT}/lib ${UMF_ROOT}/lib
102+
DIRECTORIES ${TBBROOT}/${FILE_FOLDER} ${DNNLROOT}/${FILE_FOLDER} ${MKLROOT}/${FILE_FOLDER} ${CMPLR_ROOT}/${FILE_FOLDER} ${UMF_ROOT}/${FILE_FOLDER}
98103
PRE_INCLUDE_REGEXES dnnl mkl_sycl_blas mkl_intel_ilp64 mkl_tbb_thread mkl_core sycl imf svml irng intlc ur_loader
99104
PRE_EXCLUDE_REGEXES ".*"
100105
POST_EXCLUDE_REGEXES
@@ -104,38 +109,40 @@ if (DEFINED ENV{ONEAPI_ROOT})
104109
LIBRARY DESTINATION ${OLLAMA_SYCL_INSTALL_DIR} COMPONENT SYCL
105110
FRAMEWORK DESTINATION ${OLLAMA_SYCL_INSTALL_DIR} COMPONENT SYCL
106111
)
107-
108-
file(COPY
112+
IF (WIN32)
113+
#todo
114+
ELSE()
115+
file(COPY
109116
${TBBROOT}/lib/intel64/gcc4.8/libtbb.so
110117
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
111118
FOLLOW_SYMLINK_CHAIN
119+
)
120+
file(COPY
121+
${CMPLR_ROOT}/lib/libur_adapter_level_zero.so
122+
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
123+
FOLLOW_SYMLINK_CHAIN
124+
)
125+
file(COPY
126+
${CMPLR_ROOT}/lib/libOpenCL.so
127+
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
128+
FOLLOW_SYMLINK_CHAIN
112129
)
113-
file(COPY
114-
${CMPLR_ROOT}/lib/libur_adapter_level_zero.so
115-
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
116-
FOLLOW_SYMLINK_CHAIN
130+
file(COPY
131+
${CMPLR_ROOT}/lib/libhwloc.so.15
132+
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
133+
FOLLOW_SYMLINK_CHAIN
117134
)
118-
file(COPY
119-
${CMPLR_ROOT}/lib/libOpenCL.so
120-
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
121-
FOLLOW_SYMLINK_CHAIN
122-
)
123-
file(COPY
124-
${CMPLR_ROOT}/lib/libhwloc.so.15
125-
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
126-
FOLLOW_SYMLINK_CHAIN
127-
)
128-
file(COPY
129-
${UMF_ROOT}/lib/libumf.so
130-
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
131-
FOLLOW_SYMLINK_CHAIN
132-
)
133-
file(COPY
134-
${UMF_ROOT}/lib/libdisjoint_pool.a
135-
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
136-
FOLLOW_SYMLINK_CHAIN
137-
)
138-
135+
file(COPY
136+
${UMF_ROOT}/lib/libumf.so
137+
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
138+
FOLLOW_SYMLINK_CHAIN
139+
)
140+
file(COPY
141+
${UMF_ROOT}/lib/libdisjoint_pool.a
142+
DESTINATION ${OLLAMA_SYCL_INSTALL_DIR}
143+
FOLLOW_SYMLINK_CHAIN
144+
)
145+
ENDIF()
139146

140147
else()
141148
message(FATAL_ERROR, "C++ compiler lacks SYCL support.")

ml/backend/ggml/ggml/src/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,8 +294,8 @@ if (GGML_CPU_ALL_VARIANTS)
294294
ggml_add_cpu_backend_variant(sandybridge SSE42 AVX)
295295
ggml_add_cpu_backend_variant(haswell SSE42 AVX F16C AVX2 BMI2 FMA)
296296
ggml_add_cpu_backend_variant(skylakex SSE42 AVX F16C AVX2 BMI2 FMA AVX512)
297-
ggml_add_cpu_backend_variant(icelake SSE42 AVX F16C AVX2 BMI2 FMA AVX512 AVX512_VBMI AVX512_VNNI)
298-
ggml_add_cpu_backend_variant(alderlake SSE42 AVX F16C AVX2 BMI2 FMA AVX_VNNI)
297+
ggml_add_cpu_backend_variant(icelake SSE42 AVX F16C AVX2 BMI2 FMA AVX512 AVX512_VBMI)
298+
ggml_add_cpu_backend_variant(alderlake SSE42 AVX F16C AVX2 BMI2 FMA)
299299
elseif (GGML_CPU)
300300
ggml_add_cpu_backend_variant_impl("")
301301
endif()

scripts/build_windows.ps1

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ function buildOllama() {
101101
if ($script:ARCH -ne "arm64") {
102102
Remove-Item -ea 0 -recurse -force -path "${script:SRC_DIR}\dist\windows-${script:ARCH}"
103103
New-Item "${script:SRC_DIR}\dist\windows-${script:ARCH}\lib\ollama\" -ItemType Directory -ea 0
104-
105104
& cmake --fresh --preset CPU --install-prefix $script:DIST_DIR
106105
if ($LASTEXITCODE -ne 0) { exit($LASTEXITCODE)}
107106
& cmake --build --preset CPU --config Release --parallel $script:JOBS
@@ -165,14 +164,27 @@ function buildOllama() {
165164
write-host "call `"$script:ONEAPI_DIR\setvars.bat`" && powershell"
166165
#cmd.exe "/K" "`"$script:ONEAPI_DIR\setvars.bat`" && powershell"
167166
#if ($LASTEXITCODE -ne 0) { exit($LASTEXITCODE)}
167+
write-host "create target folder"
168+
$SYCL_TARGET_FOLDER="C:\Program Files (x86)\Ollama\lib\ollama\sycl"
169+
if (!(Test-Path -Path $SYCL_TARGET_FOLDER)) {
170+
New-Item -ItemType Directory -Path $SYCL_TARGET_FOLDER
171+
Write-Host "Folder '$SYCL_TARGET_FOLDER' created successfully."
172+
} else {
173+
Write-Host "Folder '$SYCL_TARGET_FOLDER' already exists."
174+
}
175+
168176
write-host "set to build SYCL backend"
169177

170178
del .\build\CMakeCache.txt
171179
& cmake -B build -G "Ninja" -DLLAMA_CURL=OFF -DGGML_SYCL=ON -DGGML_SYCL_TARGET=INTEL -DGGML_BACKEND_DL=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icx -DCMAKE_BUILD_TYPE=Release
172180
if ($LASTEXITCODE -ne 0) { exit($LASTEXITCODE)}
173181

174-
& cmake --build build --config Release -j
182+
#& cmake --build build --config Release -j
183+
#if ($LASTEXITCODE -ne 0) { exit($LASTEXITCODE)}
184+
185+
& cmake --build --preset "SYCL" --config Release --parallel $script:JOBS
175186
if ($LASTEXITCODE -ne 0) { exit($LASTEXITCODE)}
187+
& cmake --install build --component "SYCL" --strip
176188

177189
write-host "cp sycl folder to dist"
178190
copy-item -path "C:\Program Files (x86)\Ollama\lib\ollama\sycl" -destination "${script:DIST_DIR}\lib\ollama\" -Recurse -Force

0 commit comments

Comments
 (0)