ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
MemoryManager.cpp File Reference
#include "cloudViewer/core/MemoryManager.h"
#include <benchmark/benchmark.h>
#include "cloudViewer/core/CUDAUtils.h"
Include dependency graph for MemoryManager.cpp:

Go to the source code of this file.

Namespaces

 cloudViewer
 Generic file read and write utility for python interface.
 
 cloudViewer::core
 

Macros

#define ENUM_BM_SIZE(FN, DEVICE, DEVICE_NAME, BACKEND)
 
#define ENUM_BM_BACKEND(FN)
 

Enumerations

enum class  cloudViewer::core::MemoryManagerBackend { cloudViewer::core::Direct , cloudViewer::core::Cached }
 

Functions

std::shared_ptr< MemoryManagerDevice > cloudViewer::core::MakeMemoryManager (const Device &device, const MemoryManagerBackend &backend)
 
void cloudViewer::core::Malloc (benchmark::State &state, int size, const Device &device, const MemoryManagerBackend &backend)
 
void cloudViewer::core::Free (benchmark::State &state, int size, const Device &device, const MemoryManagerBackend &backend)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Direct_100_CPU, 100, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Direct_1000_CPU, 1000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Direct_10000_CPU, 10000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Direct_100000_CPU, 100000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Direct_1000000_CPU, 1000000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Direct_10000000_CPU, 10000000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Direct_100000000_CPU, 100000000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Direct_1000000000_CPU, 1000000000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Cached_100_CPU, 100, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Cached_1000_CPU, 1000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Cached_10000_CPU, 10000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Cached_100000_CPU, 100000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Cached_1000000_CPU, 1000000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Cached_10000000_CPU, 10000000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Cached_100000000_CPU, 100000000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Malloc, MemoryManagerBackend::Cached_1000000000_CPU, 1000000000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Direct_100_CPU, 100, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Direct_1000_CPU, 1000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Direct_10000_CPU, 10000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Direct_100000_CPU, 100000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Direct_1000000_CPU, 1000000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Direct_10000000_CPU, 10000000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Direct_100000000_CPU, 100000000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Direct_1000000000_CPU, 1000000000, Device("CPU:0"), MemoryManagerBackend::Direct) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Cached_100_CPU, 100, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Cached_1000_CPU, 1000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Cached_10000_CPU, 10000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Cached_100000_CPU, 100000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Cached_1000000_CPU, 1000000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Cached_10000000_CPU, 10000000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Cached_100000000_CPU, 100000000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 
 cloudViewer::core::BENCHMARK_CAPTURE (Free, MemoryManagerBackend::Cached_1000000000_CPU, 1000000000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)
 

Macro Definition Documentation

◆ ENUM_BM_BACKEND

#define ENUM_BM_BACKEND (   FN)
Value:
ENUM_BM_SIZE(FN, Device("CPU:0"), CPU, MemoryManagerBackend::Direct) \
ENUM_BM_SIZE(FN, Device("CPU:0"), CPU, MemoryManagerBackend::Cached)
#define ENUM_BM_SIZE(FN, DEVICE, DEVICE_NAME, BACKEND)

Definition at line 134 of file MemoryManager.cpp.

◆ ENUM_BM_SIZE

#define ENUM_BM_SIZE (   FN,
  DEVICE,
  DEVICE_NAME,
  BACKEND 
)
Value:
BENCHMARK_CAPTURE(FN, BACKEND##_100_##DEVICE_NAME, 100, DEVICE, BACKEND) \
->Unit(benchmark::kMicrosecond); \
BENCHMARK_CAPTURE(FN, BACKEND##_1000_##DEVICE_NAME, 1000, DEVICE, BACKEND) \
->Unit(benchmark::kMicrosecond); \
BENCHMARK_CAPTURE(FN, BACKEND##_10000_##DEVICE_NAME, 10000, DEVICE, \
BACKEND) \
->Unit(benchmark::kMicrosecond); \
BENCHMARK_CAPTURE(FN, BACKEND##_100000_##DEVICE_NAME, 100000, DEVICE, \
BACKEND) \
->Unit(benchmark::kMicrosecond); \
BENCHMARK_CAPTURE(FN, BACKEND##_1000000_##DEVICE_NAME, 1000000, DEVICE, \
BACKEND) \
->Unit(benchmark::kMicrosecond); \
BENCHMARK_CAPTURE(FN, BACKEND##_10000000_##DEVICE_NAME, 10000000, DEVICE, \
BACKEND) \
->Unit(benchmark::kMicrosecond); \
BENCHMARK_CAPTURE(FN, BACKEND##_100000000_##DEVICE_NAME, 100000000, \
DEVICE, BACKEND) \
->Unit(benchmark::kMicrosecond); \
BENCHMARK_CAPTURE(FN, BACKEND##_1000000000_##DEVICE_NAME, 1000000000, \
DEVICE, BACKEND) \
->Unit(benchmark::kMicrosecond);
BENCHMARK_CAPTURE(Free, MemoryManagerBackend::Cached_1000000000_CPU, 1000000000, Device("CPU:0"), MemoryManagerBackend::Cached) -> Unit(benchmark::kMicrosecond)

Definition at line 103 of file MemoryManager.cpp.