From 3aa753ca7b8e7f9b8b70f0fc6739b6a2df8ca826 Mon Sep 17 00:00:00 2001 From: Lev Denisov Date: Tue, 19 Sep 2023 19:53:37 +0300 Subject: [PATCH 1/6] feat: add mimalloc --- cpp/deplex/CMakeLists.txt | 6 ++++++ external/CMakeLists.txt | 1 + external/mimalloc/CMakeLists.txt | 9 +++++++++ 3 files changed, 16 insertions(+) create mode 100644 external/mimalloc/CMakeLists.txt diff --git a/cpp/deplex/CMakeLists.txt b/cpp/deplex/CMakeLists.txt index 32e2fc5..984a074 100644 --- a/cpp/deplex/CMakeLists.txt +++ b/cpp/deplex/CMakeLists.txt @@ -21,6 +21,11 @@ set(SRC_FILES ##################################### find_package(Eigen3 REQUIRED) +##################################### +# mimalloc +##################################### +find_package(mimalloc 2.1.2 REQUIRED) + ##################################### # Optional packages ##################################### @@ -72,6 +77,7 @@ target_include_directories( target_link_libraries(${TARGET_NAME} PUBLIC Eigen3::Eigen) target_link_libraries(${TARGET_NAME} PRIVATE dsyev) target_link_libraries(${TARGET_NAME} PRIVATE rtl) +target_link_libraries(deplex PUBLIC mimalloc) if (OpenMP_CXX_FOUND) target_link_libraries(${TARGET_NAME} PRIVATE OpenMP::OpenMP_CXX) endif () diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 4074ee1..6f05ea9 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -1,4 +1,5 @@ add_subdirectory(eigen3) +add_subdirectory(mimalloc) if (${BUILD_TESTS}) add_subdirectory(googletest) diff --git a/external/mimalloc/CMakeLists.txt b/external/mimalloc/CMakeLists.txt new file mode 100644 index 0000000..9885fb4 --- /dev/null +++ b/external/mimalloc/CMakeLists.txt @@ -0,0 +1,9 @@ +include(FetchContent) + +FetchContent_Declare( + mimalloc + GIT_REPOSITORY https://github.com/microsoft/mimalloc.git + GIT_TAG v2.1.2 +) + +FetchContent_MakeAvailable(mimalloc) \ No newline at end of file From de4741704ade0e18bc2e9da4bf40301440edad30 Mon Sep 17 00:00:00 2001 From: Lev Denisov Date: Tue, 19 Sep 2023 20:18:41 +0300 Subject: [PATCH 2/6] fix: edit cmake --- cpp/deplex/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cpp/deplex/CMakeLists.txt b/cpp/deplex/CMakeLists.txt index 984a074..b32b16a 100644 --- a/cpp/deplex/CMakeLists.txt +++ b/cpp/deplex/CMakeLists.txt @@ -24,7 +24,7 @@ find_package(Eigen3 REQUIRED) ##################################### # mimalloc ##################################### -find_package(mimalloc 2.1.2 REQUIRED) +find_package(mimalloc REQUIRED) ##################################### # Optional packages @@ -77,7 +77,7 @@ target_include_directories( target_link_libraries(${TARGET_NAME} PUBLIC Eigen3::Eigen) target_link_libraries(${TARGET_NAME} PRIVATE dsyev) target_link_libraries(${TARGET_NAME} PRIVATE rtl) -target_link_libraries(deplex PUBLIC mimalloc) +target_link_libraries(deplex PRIVATE mimalloc) if (OpenMP_CXX_FOUND) target_link_libraries(${TARGET_NAME} PRIVATE OpenMP::OpenMP_CXX) endif () From 7cbbaccae9af7769d897dd2a5b7f4812bb236d39 Mon Sep 17 00:00:00 2001 From: Lev Denisov Date: Tue, 19 Sep 2023 21:01:37 +0300 Subject: [PATCH 3/6] fix: edit cmake --- cpp/deplex/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cpp/deplex/CMakeLists.txt b/cpp/deplex/CMakeLists.txt index b32b16a..e5fdf7c 100644 --- a/cpp/deplex/CMakeLists.txt +++ b/cpp/deplex/CMakeLists.txt @@ -77,7 +77,10 @@ target_include_directories( target_link_libraries(${TARGET_NAME} PUBLIC Eigen3::Eigen) target_link_libraries(${TARGET_NAME} PRIVATE dsyev) target_link_libraries(${TARGET_NAME} PRIVATE rtl) -target_link_libraries(deplex PRIVATE mimalloc) + +set(PLATFORM_LINKFLAGS "-L${mimalloc_BINARY_DIR}/libmimalloc.dylib" "mimalloc") +target_link_libraries(${TARGET_NAME} PRIVATE ${PLATFORM_LINKFLAGS}) + if (OpenMP_CXX_FOUND) target_link_libraries(${TARGET_NAME} PRIVATE OpenMP::OpenMP_CXX) endif () From b87a239b371581f3cd52b12667279638d8a2ce7a Mon Sep 17 00:00:00 2001 From: Lev Denisov Date: Tue, 19 Sep 2023 21:03:57 +0300 Subject: [PATCH 4/6] fix: edit cmake --- cpp/deplex/CMakeLists.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/cpp/deplex/CMakeLists.txt b/cpp/deplex/CMakeLists.txt index e5fdf7c..3991a55 100644 --- a/cpp/deplex/CMakeLists.txt +++ b/cpp/deplex/CMakeLists.txt @@ -21,11 +21,6 @@ set(SRC_FILES ##################################### find_package(Eigen3 REQUIRED) -##################################### -# mimalloc -##################################### -find_package(mimalloc REQUIRED) - ##################################### # Optional packages ##################################### From 332feb3a9cc6e5ce020806a4acdf6c8391fab4a7 Mon Sep 17 00:00:00 2001 From: Lev Denisov Date: Fri, 20 Oct 2023 19:22:34 +0300 Subject: [PATCH 5/6] fix: Flag connection changed --- cpp/deplex/CMakeLists.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cpp/deplex/CMakeLists.txt b/cpp/deplex/CMakeLists.txt index 3991a55..dc6f486 100644 --- a/cpp/deplex/CMakeLists.txt +++ b/cpp/deplex/CMakeLists.txt @@ -20,6 +20,7 @@ set(SRC_FILES # Required packages ##################################### find_package(Eigen3 REQUIRED) +find_package(mimalloc REQUIRED) ##################################### # Optional packages @@ -72,9 +73,7 @@ target_include_directories( target_link_libraries(${TARGET_NAME} PUBLIC Eigen3::Eigen) target_link_libraries(${TARGET_NAME} PRIVATE dsyev) target_link_libraries(${TARGET_NAME} PRIVATE rtl) - -set(PLATFORM_LINKFLAGS "-L${mimalloc_BINARY_DIR}/libmimalloc.dylib" "mimalloc") -target_link_libraries(${TARGET_NAME} PRIVATE ${PLATFORM_LINKFLAGS}) +target_link_libraries(${TARGET_NAME} PUBLIC mimalloc) if (OpenMP_CXX_FOUND) target_link_libraries(${TARGET_NAME} PRIVATE OpenMP::OpenMP_CXX) From 2325e20a85051a1e971912b838f99ef09d0291fb Mon Sep 17 00:00:00 2001 From: Lev Denisov Date: Fri, 20 Oct 2023 23:07:38 +0300 Subject: [PATCH 6/6] fix: delete find_package --- cpp/deplex/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/cpp/deplex/CMakeLists.txt b/cpp/deplex/CMakeLists.txt index dc6f486..a777e9b 100644 --- a/cpp/deplex/CMakeLists.txt +++ b/cpp/deplex/CMakeLists.txt @@ -20,7 +20,6 @@ set(SRC_FILES # Required packages ##################################### find_package(Eigen3 REQUIRED) -find_package(mimalloc REQUIRED) ##################################### # Optional packages