Skip to content
Snippets Groups Projects
Commit 9ecbca68 authored by 数学の武士's avatar 数学の武士
Browse files

.

parent 5199f726
No related branches found
No related tags found
No related merge requests found
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
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
File moved
File moved
File moved
#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
File moved
File moved
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment