strategy:
matrix:
- sanitizer: [ADDRESS, UNDEFINED] # THREAD is broken
+ sanitizer: [ADDRESS, UNDEFINED] # THREAD is very slow
build_type: [RelWithDebInfo]
include:
- build_type: Release
- build_type: Release
sanitizer: ""
extra_args: "LLAMA_ARG_BACKEND_SAMPLING=1"
- fail-fast: false # While -DLLAMA_SANITIZE_THREAD=ON is broken
+ fail-fast: false
steps:
- name: Dependencies
- name: Build
id: cmake_build
run: |
- cmake -B build -DLLAMA_BUILD_BORINGSSL=ON -DGGML_SCHED_NO_REALLOC=ON
+ cmake -B build \
+ -DLLAMA_BUILD_BORINGSSL=ON \
+ -DGGML_SCHED_NO_REALLOC=ON \
+ -DGGML_SANITIZE_ADDRESS=${{ matrix.sanitizer == 'ADDRESS' }} \
+ -DGGML_SANITIZE_THREAD=${{ matrix.sanitizer == 'THREAD' }} \
+ -DGGML_SANITIZE_UNDEFINED=${{ matrix.sanitizer == 'UNDEFINED' }} \
+ -DLLAMA_SANITIZE_ADDRESS=${{ matrix.sanitizer == 'ADDRESS' }} \
+ -DLLAMA_SANITIZE_THREAD=${{ matrix.sanitizer == 'THREAD' }} \
+ -DLLAMA_SANITIZE_UNDEFINED=${{ matrix.sanitizer == 'UNDEFINED' }}
cmake --build build --config ${{ matrix.build_type }} -j ${env:NUMBER_OF_PROCESSORS} --target llama-server
- name: Python setup
- name: Tests
id: server_integration_tests
- if: ${{ (!matrix.disabled_on_pr || !github.event.pull_request) && matrix.build_type == 'Release' }}
+ if: ${{ (!matrix.disabled_on_pr || !github.event.pull_request) }}
run: |
cd tools/server/tests
export ${{ matrix.extra_args }}
llama_option_depr(WARNING LLAMA_SYCL_F16 GGML_SYCL_F16)
llama_option_depr(WARNING LLAMA_CANN GGML_CANN)
-if (NOT MSVC)
- if (LLAMA_SANITIZE_THREAD)
- message(STATUS "Using -fsanitize=thread")
-
- add_compile_options(-fsanitize=thread)
- link_libraries (-fsanitize=thread)
- endif()
-
- if (LLAMA_SANITIZE_ADDRESS)
- message(STATUS "Using -fsanitize=address")
-
- add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
- link_libraries (-fsanitize=address)
- endif()
-
- if (LLAMA_SANITIZE_UNDEFINED)
- message(STATUS "Using -fsanitize=undefined")
-
- add_compile_options(-fsanitize=undefined)
- link_libraries (-fsanitize=undefined)
- endif()
-endif()
-
include("cmake/license.cmake")
license_add_file("llama.cpp" "LICENSE")
set(CXX_FLAGS "" PARENT_SCOPE)
endif()
endif()
+
+ if (NOT MSVC)
+ if (LLAMA_SANITIZE_THREAD)
+ message(STATUS "Using -fsanitize=thread")
+
+ add_compile_options(-fsanitize=thread)
+ link_libraries (-fsanitize=thread)
+ endif()
+
+ if (LLAMA_SANITIZE_ADDRESS)
+ message(STATUS "Using -fsanitize=address")
+
+ add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
+ link_libraries (-fsanitize=address)
+ endif()
+
+ if (LLAMA_SANITIZE_UNDEFINED)
+ message(STATUS "Using -fsanitize=undefined")
+
+ add_compile_options(-fsanitize=undefined)
+ link_libraries (-fsanitize=undefined)
+ endif()
+ endif()
endfunction()