"scripts/convert_photon_to_diffusers.py" did not exist on "b3e56e71fb7c73601851bb83e7583f113f563d26"
Commit 104ffddb authored by Davis King's avatar Davis King
Browse files

Make python extension automatically enable AVX instructions if the host machine

supports them.
parent f21ac080
# This script checks if your compiler and host processor can generate and then run programs with AVX instructions.
cmake_minimum_required(VERSION 2.8.12)
# Don't rerun this script if its already been executed.
if (DEFINED AVX_IS_AVAILABLE_ON_HOST)
return()
endif()
# Set to false unless we find out otherwise in the code below.
set(AVX_IS_AVAILABLE_ON_HOST 0)
try_compile(test_for_avx_worked ${PROJECT_BINARY_DIR}/avx_test_build ${CMAKE_CURRENT_LIST_DIR}/test_for_avx
avx_test)
if(test_for_avx_worked)
message (STATUS "AVX instructions can be executed by the host processor.")
set(AVX_IS_AVAILABLE_ON_HOST 1)
endif()
cmake_minimum_required(VERSION 2.8.12)
project(avx_test)
set(USE_AVX_INSTRUCTIONS ON CACHE BOOL "Use SSE4 instructions")
# Pull this in since it sets the AVX compile options by putting that kind of stuff into the active_compile_opts list.
include(../set_compiler_specific_options.cmake)
try_run(run_result compile_result ${PROJECT_BINARY_DIR}/avx_test_try_run_build ${CMAKE_CURRENT_LIST_DIR}/avx_test.cpp
COMPILE_DEFINITIONS ${active_compile_opts})
message(STATUS "run_result = ${run_result}")
message(STATUS "compile_result = ${compile_result}")
if (${run_result} EQUAL 0 AND compile_result)
message(STATUS "Ran AVX test program successfully, you have AVX available.")
else()
message(STATUS "Unable to run AVX test program, you don't seem to have AVX instructions available.")
# make this build fail so that calling try_compile statements will error in this case.
add_library(make_this_build_fail ${CMAKE_CURRENT_LIST_DIR}/this_file_doesnt_compile.cpp)
endif()
#include <immintrin.h>
int main()
{
__m256 x;
x = _mm256_set1_ps(1.23);
x = _mm256_add_ps(x,x);
return 0;
}
// ------------------------------------------------------------------------------------
......@@ -3,10 +3,15 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
set(USE_SSE4_INSTRUCTIONS ON CACHE BOOL "Use SSE4 instructions")
include(../../dlib/cmake_utils/check_if_avx_instructions_executable_on_host.cmake)
if (AVX_IS_AVAILABLE_ON_HOST)
set(USE_AVX_INSTRUCTIONS ON CACHE BOOL "Use AVX instructions")
endif()
# Set this to disable link time optimization. The only reason for
# doing this to make the compile faster which is nice when developing
# new modules.
set(PYBIND11_LTO_CXX_FLAGS "")
# set(PYBIND11_LTO_CXX_FLAGS "")
# Avoid cmake warnings about changes in behavior of some Mac OS X path
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment