pytorch

Форк
0
/
FindVSX.cmake 
33 строки · 1.3 Кб
1

2
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
3
  message("-- <FindVSX>")
4
  EXEC_PROGRAM(LD_SHOW_AUXV=1 ARGS "/bin/true" OUTPUT_VARIABLE bintrue)
5
  if(bintrue MATCHES "AT_PLATFORM:[ \\t\\n\\r]*([a-zA-Z0-9_]+)[ \\t\\n\\r]*")
6
    if(CMAKE_MATCH_COUNT GREATER 0)
7
      string(TOLOWER ${CMAKE_MATCH_1} platform)
8
      if(${platform} MATCHES "^power")
9
        message("-- POWER Platform: ${platform}")
10
        SET(POWER_COMP TRUE CACHE BOOL "power ")
11
        SET(CXX_VSX_FLAGS  "${CXX_VSX_FLAGS} -mcpu=${platform} -mtune=${platform}" )
12
      endif()
13
    endif()
14
  endif()
15
  SET(VSX_CODE " #include <altivec.h>
16
      int main() {
17
      float __attribute__((aligned(16))) vptr_y[8]   = { 1.0f,2.f,3.f,4.f,4.f,3.f,2.f,1.f };
18
      __vector float v_result = vec_add(vec_vsx_ld(0, vptr_y), vec_vsx_ld(16, vptr_y));
19
      return 0;
20
      }")
21
  #check_cxx_compiler_flag(-mvsx vsx_flag)
22
  SET(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS})
23
  SET(CMAKE_REQUIRED_FLAGS "-mvsx")
24
  CHECK_C_SOURCE_COMPILES("${VSX_CODE}"  C_VSX_FOUND)
25
  CHECK_CXX_SOURCE_COMPILES("${VSX_CODE}"  CXX_VSX_FOUND)
26
  SET(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE})
27
  if(CXX_VSX_FOUND)
28
    message("-- VSX flag was set.")
29
    SET(CXX_VSX_FLAGS  "${CXX_VSX_FLAGS} -mvsx" )
30
  elseif(POWER_COMP)
31
    message(WARNING "-- VSX flag was not set.")
32
  endif()
33
  message("-- </FindVSX>")
34
endif()
35

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.