You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 2.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. include_directories(${CMAKE_SOURCE_DIR})
  2. # TODO: laswp needs arch specific code
  3. # TODO: getrs needs to be compiled with and without TRANS (and up to TRANS=4 in the complex case)
  4. # TODO: trti2 needs to be compiled with and without UNIT
  5. set(LAPACK_SOURCES
  6. getf2/getf2_k.c
  7. getrf/getrf_single.c
  8. potrf/potrf_U_single.c
  9. potrf/potrf_L_single.c
  10. potf2/potf2_U.c
  11. potf2/potf2_L.c
  12. lauu2/lauu2_U.c
  13. lauu2/lauu2_L.c
  14. lauum/lauum_U_single.c
  15. lauum/lauum_L_single.c
  16. trti2/trti2_U.c
  17. trti2/trti2_L.c
  18. )
  19. # sources that need TRANS set
  20. set(TRANS_SOURCES
  21. getrs/getrs_single.c
  22. )
  23. # sources that need UNIT set
  24. set(UNIT_SOURCES
  25. trtri/trtri_U_single.c
  26. trtri/trtri_L_single.c
  27. )
  28. set(ZLAPACK_SOURCES
  29. getf2/zgetf2_k.c
  30. getrf/getrf_single.c
  31. getrs/zgetrs_single.c
  32. potrf/potrf_U_single.c
  33. potrf/potrf_L_single.c
  34. potf2/potf2_U.c
  35. potf2/potf2_L.c
  36. lauu2/zlauu2_U.c
  37. lauu2/zlauu2_L.c
  38. lauum/lauum_U_single.c
  39. lauum/lauum_L_single.c
  40. trti2/ztrti2_U.c
  41. trti2/ztrti2_L.c
  42. trtri/trtri_U_single.c
  43. trtri/trtri_L_single.c
  44. )
  45. GenerateNamedObjects("${LAPACK_SOURCES}" "DOUBLE" "" "" 0)
  46. list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
  47. if (SMP)
  48. if (USE_OPENMP)
  49. set(GETRF_SRC getrf/getrf_parallel_omp.c)
  50. else ()
  51. set(GETRF_SRC getrf/getrf_parallel.c)
  52. endif ()
  53. set(PARALLEL_SOURCES
  54. ${GETRF_SRC}
  55. potrf/potrf_U_parallel.c
  56. potrf/potrf_L_parallel.c
  57. lauum/lauum_U_parallel.c
  58. lauum/lauum_L_parallel.c
  59. )
  60. list(APPEND TRANS_SOURCES
  61. getrs/getrs_parallel.c
  62. )
  63. list(APPEND UNIT_SOURCES
  64. trtri/trtri_U_parallel.c
  65. trtri/trtri_L_parallel.c
  66. )
  67. set(ZPARALLEL_SOURCES
  68. ${GETRF_SRC}
  69. getrs/zgetrs_parallel.c
  70. potrf/potrf_U_parallel.c
  71. potrf/potrf_L_parallel.c
  72. lauum/lauum_U_parallel.c
  73. lauum/lauum_L_parallel.c
  74. trtri/trtri_U_parallel.c
  75. trtri/trtri_L_parallel.c
  76. )
  77. GenerateNamedObjects("${PARALLEL_SOURCES}" "DOUBLE" "" "" 0)
  78. list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
  79. endif ()
  80. GenerateCombinationObjects("${TRANS_SOURCES}" "TRANS" "N" "DOUBLE" "" 4)
  81. list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
  82. GenerateCombinationObjects("${UNIT_SOURCES}" "UNIT" "N" "DOUBLE" "" 4)
  83. list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
  84. set(DBLAS_OBJS ${DBLAS_OBJS} PARENT_SCOPE) # list append removes the scope from DBLAS_OBJS