mirror of
https://github.com/ikawrakow/ik_llama.cpp.git
synced 2026-04-30 19:31:48 +00:00
Fix Windows build (#1097)
This commit is contained in:
@@ -8,7 +8,9 @@ set(CMAKE_WARN_UNUSED_CLI YES)
|
|||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED true)
|
set(CMAKE_CXX_STANDARD_REQUIRED true)
|
||||||
|
if(MSVC)
|
||||||
|
add_compile_options(/permissive- /Zc:__cplusplus)
|
||||||
|
endif()
|
||||||
set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_INCLUDES 0)
|
set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_INCLUDES 0)
|
||||||
set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_LIBRARIES 0)
|
set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_LIBRARIES 0)
|
||||||
set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_OBJECTS 0)
|
set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_OBJECTS 0)
|
||||||
|
|||||||
@@ -96,5 +96,11 @@ endif()
|
|||||||
if (WIN32)
|
if (WIN32)
|
||||||
TARGET_LINK_LIBRARIES(${TARGET} PRIVATE ws2_32)
|
TARGET_LINK_LIBRARIES(${TARGET} PRIVATE ws2_32)
|
||||||
endif()
|
endif()
|
||||||
|
if(MSVC)
|
||||||
|
set_target_properties(${TARGET} PROPERTIES
|
||||||
|
CXX_STANDARD 17
|
||||||
|
CXX_STANDARD_REQUIRED ON
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_compile_features(${TARGET} PRIVATE cxx_std_17)
|
target_compile_features(${TARGET} PRIVATE cxx_std_17)
|
||||||
|
|||||||
@@ -2162,10 +2162,11 @@ static enum ggml_status ggml_backend_sched_compute_splits(ggml_backend_sched_t s
|
|||||||
|
|
||||||
bool work_done = false;
|
bool work_done = false;
|
||||||
#ifdef GGML_USE_OPENMP
|
#ifdef GGML_USE_OPENMP
|
||||||
if (int nlevels = omp_get_max_active_levels(); nlevels < 2) {
|
//This maty not be available in old OpenMP versions
|
||||||
omp_set_max_active_levels(nlevels+1);
|
//if (int nlevels = omp_get_max_active_levels(); nlevels < 2) {
|
||||||
//printf("%s: Setting omp max active levels to 2\n", __func__);
|
// omp_set_max_active_levels(nlevels+1);
|
||||||
}
|
// //printf("%s: Setting omp max active levels to 2\n", __func__);
|
||||||
|
//}
|
||||||
bool has_cpu_work = false;
|
bool has_cpu_work = false;
|
||||||
for (int i = 0; i < sched->n_backends; ++i) {
|
for (int i = 0; i < sched->n_backends; ++i) {
|
||||||
if (!sched->backend_splits[i].empty()) {
|
if (!sched->backend_splits[i].empty()) {
|
||||||
@@ -2237,7 +2238,7 @@ static enum ggml_status ggml_backend_sched_compute_splits(ggml_backend_sched_t s
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (!work_done) {
|
if (!work_done) {
|
||||||
std::barrier barrier(sched->n_backends, [] () {});
|
std::barrier barrier(sched->n_backends, [] () noexcept {});
|
||||||
auto compute = [sched, &barrier] (int ith) {
|
auto compute = [sched, &barrier] (int ith) {
|
||||||
|
|
||||||
struct ggml_backend_sched_split * splits = sched->splits;
|
struct ggml_backend_sched_split * splits = sched->splits;
|
||||||
|
|||||||
Reference in New Issue
Block a user