QUDA  v1.1.0
A library for QCD on GPUs
Namespaces | Macros | Functions
malloc_quda.h File Reference
#include <cstdlib>
#include <cstdint>
#include <enum_quda.h>

Go to the source code of this file.

Namespaces

 quda
 
 quda::pool
 

Macros

#define device_malloc(size)   quda::device_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)
 
#define device_pinned_malloc(size)   quda::device_pinned_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)
 
#define device_comms_pinned_malloc(size)    quda::device_comms_pinned_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)
 
#define safe_malloc(size)   quda::safe_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)
 
#define pinned_malloc(size)   quda::pinned_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)
 
#define mapped_malloc(size)   quda::mapped_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)
 
#define managed_malloc(size)   quda::managed_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)
 
#define device_free(ptr)   quda::device_free_(__func__, quda::file_name(__FILE__), __LINE__, ptr)
 
#define device_pinned_free(ptr)   quda::device_pinned_free_(__func__, quda::file_name(__FILE__), __LINE__, ptr)
 
#define device_comms_pinned_free(ptr)    quda::device_comms_pinned_free_(__func__, quda::file_name(__FILE__), __LINE__, ptr)
 
#define managed_free(ptr)   quda::managed_free_(__func__, quda::file_name(__FILE__), __LINE__, ptr)
 
#define host_free(ptr)   quda::host_free_(__func__, quda::file_name(__FILE__), __LINE__, ptr)
 
#define get_mapped_device_pointer(ptr)    quda::get_mapped_device_pointer_(__func__, quda::file_name(__FILE__), __LINE__, ptr)
 
#define pool_device_malloc(size)   quda::pool::device_malloc_(__func__, __FILE__, __LINE__, size)
 
#define pool_device_free(ptr)   quda::pool::device_free_(__func__, __FILE__, __LINE__, ptr)
 
#define pool_pinned_malloc(size)   quda::pool::pinned_malloc_(__func__, __FILE__, __LINE__, size)
 
#define pool_pinned_free(ptr)   quda::pool::pinned_free_(__func__, __FILE__, __LINE__, ptr)
 

Functions

void quda::printPeakMemUsage ()
 
void quda::assertAllMemFree ()
 
size_t quda::device_allocated ()
 
size_t quda::pinned_allocated ()
 
size_t quda::mapped_allocated ()
 
size_t quda::host_allocated ()
 
size_t quda::device_allocated_peak ()
 
size_t quda::pinned_allocated_peak ()
 
size_t quda::mapped_allocated_peak ()
 
size_t quda::host_allocated_peak ()
 
bool quda::use_managed_memory ()
 
bool quda::is_prefetch_enabled ()
 
void * quda::device_malloc_ (const char *func, const char *file, int line, size_t size)
 
void * quda::device_pinned_malloc_ (const char *func, const char *file, int line, size_t size)
 
void * quda::device_comms_pinned_malloc_ (const char *func, const char *file, int line, size_t size)
 
void * quda::safe_malloc_ (const char *func, const char *file, int line, size_t size)
 
void * quda::pinned_malloc_ (const char *func, const char *file, int line, size_t size)
 
void * quda::mapped_malloc_ (const char *func, const char *file, int line, size_t size)
 
void * quda::managed_malloc_ (const char *func, const char *file, int line, size_t size)
 
void quda::device_free_ (const char *func, const char *file, int line, void *ptr)
 
void quda::device_pinned_free_ (const char *func, const char *file, int line, void *ptr)
 
void quda::device_comms_pinned_free_ (const char *func, const char *file, int line, void *ptr)
 
void quda::managed_free_ (const char *func, const char *file, int line, void *ptr)
 
void quda::host_free_ (const char *func, const char *file, int line, void *ptr)
 
constexpr const char * quda::str_end (const char *str)
 
constexpr bool quda::str_slant (const char *str)
 
constexpr const char * quda::r_slant (const char *str)
 
constexpr const char * quda::file_name (const char *str)
 
QudaFieldLocation quda::get_pointer_location (const void *ptr)
 
void * quda::get_mapped_device_pointer_ (const char *func, const char *file, int line, const void *ptr)
 
bool quda::is_aligned (const void *ptr, size_t alignment)
 
void quda::pool::init ()
 Initialize the memory pool allocator. More...
 
void * quda::pool::device_malloc_ (const char *func, const char *file, int line, size_t size)
 Allocate device-memory. If free pre-existing allocation exists reuse this. More...
 
void quda::pool::device_free_ (const char *func, const char *file, int line, void *ptr)
 Virtual free of pinned-memory allocation. More...
 
void * quda::pool::pinned_malloc_ (const char *func, const char *file, int line, size_t size)
 Allocate pinned-memory. If a free pre-existing allocation exists reuse this. More...
 
void quda::pool::pinned_free_ (const char *func, const char *file, int line, void *ptr)
 Virtual free of pinned-memory allocation. More...
 
void quda::pool::flush_device ()
 Free all outstanding device-memory allocations. More...
 
void quda::pool::flush_pinned ()
 Free all outstanding pinned-memory allocations. More...
 

Macro Definition Documentation

◆ device_comms_pinned_free

#define device_comms_pinned_free (   ptr)     quda::device_comms_pinned_free_(__func__, quda::file_name(__FILE__), __LINE__, ptr)

Definition at line 112 of file malloc_quda.h.

◆ device_comms_pinned_malloc

#define device_comms_pinned_malloc (   size)     quda::device_comms_pinned_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)

Definition at line 104 of file malloc_quda.h.

◆ device_free

#define device_free (   ptr)    quda::device_free_(__func__, quda::file_name(__FILE__), __LINE__, ptr)

Definition at line 110 of file malloc_quda.h.

◆ device_malloc

#define device_malloc (   size)    quda::device_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)

Definition at line 102 of file malloc_quda.h.

◆ device_pinned_free

#define device_pinned_free (   ptr)    quda::device_pinned_free_(__func__, quda::file_name(__FILE__), __LINE__, ptr)

Definition at line 111 of file malloc_quda.h.

◆ device_pinned_malloc

#define device_pinned_malloc (   size)    quda::device_pinned_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)

Definition at line 103 of file malloc_quda.h.

◆ get_mapped_device_pointer

#define get_mapped_device_pointer (   ptr)     quda::get_mapped_device_pointer_(__func__, quda::file_name(__FILE__), __LINE__, ptr)

Definition at line 116 of file malloc_quda.h.

◆ host_free

#define host_free (   ptr)    quda::host_free_(__func__, quda::file_name(__FILE__), __LINE__, ptr)

Definition at line 115 of file malloc_quda.h.

◆ managed_free

#define managed_free (   ptr)    quda::managed_free_(__func__, quda::file_name(__FILE__), __LINE__, ptr)

Definition at line 114 of file malloc_quda.h.

◆ managed_malloc

#define managed_malloc (   size)    quda::managed_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)

Definition at line 109 of file malloc_quda.h.

◆ mapped_malloc

#define mapped_malloc (   size)    quda::mapped_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)

Definition at line 108 of file malloc_quda.h.

◆ pinned_malloc

#define pinned_malloc (   size)    quda::pinned_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)

Definition at line 107 of file malloc_quda.h.

◆ pool_device_free

#define pool_device_free (   ptr)    quda::pool::device_free_(__func__, __FILE__, __LINE__, ptr)

Definition at line 171 of file malloc_quda.h.

◆ pool_device_malloc

#define pool_device_malloc (   size)    quda::pool::device_malloc_(__func__, __FILE__, __LINE__, size)

Definition at line 170 of file malloc_quda.h.

◆ pool_pinned_free

#define pool_pinned_free (   ptr)    quda::pool::pinned_free_(__func__, __FILE__, __LINE__, ptr)

Definition at line 173 of file malloc_quda.h.

◆ pool_pinned_malloc

#define pool_pinned_malloc (   size)    quda::pool::pinned_malloc_(__func__, __FILE__, __LINE__, size)

Definition at line 172 of file malloc_quda.h.

◆ safe_malloc

#define safe_malloc (   size)    quda::safe_malloc_(__func__, quda::file_name(__FILE__), __LINE__, size)

Definition at line 106 of file malloc_quda.h.