perf(hex8): prepare guarded private four-column paired tangent packet
This commit is contained in:
@@ -44,6 +44,8 @@ add_library(
|
||||
elements/element_factory.cpp
|
||||
elements/hex8_element.cpp
|
||||
elements/hex8_high_low.cpp
|
||||
elements/hex8_pair_simd_dispatch.cpp
|
||||
elements/hex8_pair_simd_avx2.cpp
|
||||
elements/hex8_geometry.cpp
|
||||
elements/euler_beam_3d.cpp
|
||||
elements/finite_rotation.cpp
|
||||
@@ -122,6 +124,14 @@ target_compile_options(
|
||||
$<$<CXX_COMPILER_ID:MSVC>:/W4 /WX /EHsc>
|
||||
)
|
||||
|
||||
# Keep the CPU/OS dispatch on the baseline ISA; only its private kernel uses AVX2.
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND
|
||||
CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "x64")
|
||||
target_compile_definitions(fesa_solver PRIVATE FESA_HEX8_PAIR_AVX2=1)
|
||||
set_source_files_properties(elements/hex8_pair_simd_avx2.cpp
|
||||
PROPERTIES COMPILE_OPTIONS /arch:AVX2)
|
||||
endif()
|
||||
|
||||
add_executable(fesa_cli app/main.cpp)
|
||||
set_target_properties(fesa_cli PROPERTIES OUTPUT_NAME fesa)
|
||||
target_link_libraries(fesa_cli PRIVATE fesa_solver)
|
||||
|
||||
Reference in New Issue
Block a user