diff --git a/CMakeLists.txt b/CMakeLists.txt index c1f6789e1f555dea7cd5c5353eb0fc1dded78a91..3d79b7d5c40a9962e0e4a02aa4a49ada370f66aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,9 @@ cmake_minimum_required(VERSION 3.19) option(INCLUDE_CUDA "GPU build in mode" OFF) -option(ADRESS_SANITIZER "Enable address sanitizer" OFF) option(CXX23_STACKTRACE "Enable C++23 stacktrace" OFF) -if(ADRESS_SANITIZER) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -O1 -fno-omit-frame-pointer -g") -endif(ADRESS_SANITIZER) - -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++2b") - -project(memory-faucet-test) +project(memory-holder) enable_language(CXX) if(CXX23_STACKTRACE) @@ -19,6 +12,15 @@ else(CXX23_STACKTRACE) set(CMAKE_CXX_STANDARD 11) endif(CXX23_STACKTRACE) +include(FetchContent) +FetchContent_Declare( + memory_processing + GIT_REPOSITORY http://tesla.parallel.ru/Lizzzka007/memory_processing.git + GIT_TAG main +) +FetchContent_MakeAvailable(memory_processing) +FetchContent_GetProperties(memory_processing) + if(INCLUDE_CUDA) if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) message(FATAL_ERROR " @@ -32,12 +34,19 @@ if(INCLUDE_CUDA) add_definitions(-DINCLUDE_CUDA) endif(INCLUDE_CUDA) -add_subdirectory(Lib) - set(SOURCES - main.cpp + src/buffer.cpp + src/mf-utils.cpp + src/memory-faucet.cpp +) + +set(HEADER + include/buffer.h + include/mf-utils.h + include/memory-faucet.h ) -add_executable(test ${SOURCES}) -target_include_directories(test PUBLIC ./Lib/) -target_link_libraries(test memory-faucet) \ No newline at end of file +include_directories(include/) +add_library(memory-faucet ${SOURCES} ${HEADER}) +target_include_directories(memory-faucet PUBLIC ${memory_processing_SOURCE_DIR}/include) +target_link_libraries(memory-faucet memproc) \ No newline at end of file diff --git a/Lib/CMakeLists.txt b/Lib/CMakeLists.txt deleted file mode 100644 index cac917337791bc7640fe2d6005b344c720ab86b4..0000000000000000000000000000000000000000 --- a/Lib/CMakeLists.txt +++ /dev/null @@ -1,52 +0,0 @@ -cmake_minimum_required(VERSION 3.19) - -option(INCLUDE_CUDA "GPU build in mode" OFF) -option(CXX23_STACKTRACE "Enable C++23 stacktrace" OFF) -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++2b") - -project(memory-holder) - -enable_language(CXX) -if(CXX23_STACKTRACE) - set(CMAKE_CXX_STANDARD 23) -else(CXX23_STACKTRACE) - set(CMAKE_CXX_STANDARD 11) -endif(CXX23_STACKTRACE) - -include(FetchContent) -FetchContent_Declare( - memory_processing - GIT_REPOSITORY http://tesla.parallel.ru/Lizzzka007/memory_processing.git - GIT_TAG main -) -FetchContent_MakeAvailable(memory_processing) -FetchContent_GetProperties(memory_processing) - -if(INCLUDE_CUDA) - if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) - message(FATAL_ERROR " - CMake will not pass any architecture flags to the compiler - because the CUDA architecture is not set. You should specify - an architecture: set -DCMAKE_CUDA_ARCHITECTURES=<N>.") - endif(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) - - enable_language(CUDA) - include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}) - add_definitions(-DINCLUDE_CUDA) -endif(INCLUDE_CUDA) - -set(SOURCES - buffer.cpp - mf-utils.cpp - memory-faucet.cpp -) - -set(HEADER - buffer.h - mf-utils.h - memory-faucet.h -) - -add_library(memory-faucet ${SOURCES} ${HEADER}) -target_include_directories(memory-faucet PUBLIC ${memory_processing_SOURCE_DIR}/include) -target_link_libraries(memory-faucet memproc) \ No newline at end of file diff --git a/Lib/buffer.h b/include/buffer.h similarity index 100% rename from Lib/buffer.h rename to include/buffer.h diff --git a/Lib/memory-faucet.h b/include/memory-faucet.h similarity index 100% rename from Lib/memory-faucet.h rename to include/memory-faucet.h diff --git a/Lib/mf-utils.h b/include/mf-utils.h similarity index 100% rename from Lib/mf-utils.h rename to include/mf-utils.h diff --git a/main.cpp b/main.cpp deleted file mode 100644 index 59f347585edb2b00a6541e08d4cf1faae783fab1..0000000000000000000000000000000000000000 --- a/main.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include "memory-faucet.h" -#include <cstdio> - -int main(void) -{ - const size_t required_size1 = sizeof(float) * 100; - const size_t required_size2 = sizeof(float) * 1; - const size_t required_size3 = sizeof(float) * 10000; - const size_t required_size5 = sizeof(float) * 100000; - const size_t required_size6 = sizeof(float) * 100000000; - // printf("required_size %ld\n", required_size); - - printf("Start Buf1\n"); - memBuf<MemType::CPU> Buf1(required_size3); - // memBuf<MemType::CPU> Buf2(required_size3); - printf("Start Buf2\n"); - memBuf<MemType::CPU> Buf2(required_size3); - // memBuf<MemType::CPU, buf_choose_policy::find_best_unsorted> Buf3(required_size3); - printf("Start Buf4\n"); - memBuf<MemType::CPU> Buf4(required_size1); - - printf("Start Buf5\n"); - memBuf<MemType::CPU> Buf5(required_size5); - - printf("Start Buf6\n"); - memBuf<MemType::CPU> Buf6(required_size6); - - // printf("Start Buf7\n"); - // memBuf<MemType::GPU> Buf7(required_size6); - - float* ptr1 = static_cast<float*>(Buf1.ptr()); - float* ptr2 = static_cast<float*>(Buf2.ptr()); - float* ptr4 = static_cast<float*>(Buf4.ptr()); - float* ptr6 = static_cast<float*>(Buf6.ptr()); - - printf("Address of Buf1 is %p\n", Buf1.ptr()); - printf("Address of Buf2 is %p\n", Buf2.ptr()); - printf("Address of Buf4 is %p\n", Buf4.ptr()); - - for (int i = 0; i < 10; i++) - { - ptr1[i] = float(i); - ptr2[i] = float(i); - ptr4[i] = float(i); - ptr6[i] = float(i); - } - - return 0; -} \ No newline at end of file diff --git a/Lib/buffer.cpp b/src/buffer.cpp similarity index 100% rename from Lib/buffer.cpp rename to src/buffer.cpp diff --git a/Lib/memory-faucet.cpp b/src/memory-faucet.cpp similarity index 100% rename from Lib/memory-faucet.cpp rename to src/memory-faucet.cpp diff --git a/Lib/mf-utils.cpp b/src/mf-utils.cpp similarity index 100% rename from Lib/mf-utils.cpp rename to src/mf-utils.cpp