pytorch/c10/util/numa.h
Jerry Zhang 63e77ab6c4 Move numa.{h, cc} to c10/util (#15024)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/15024

Pull Request resolved: https://github.com/pytorch/pytorch/pull/14393

att

Reviewed By: dzhulgakov

Differential Revision: D13380559

fbshipit-source-id: abc3fc7321cf37323f756dfd614c7b41978734e4
2018-12-12 12:21:10 -08:00

41 lines
696 B
C++

#pragma once
#include <c10/util/Logging.h>
#include <c10/util/Optional.h>
C10_DECLARE_bool(caffe2_cpu_numa_enabled);
namespace c10 {
/**
* Check whether NUMA is enabled
*/
C10_API bool IsNUMAEnabled();
/**
* Bind to a given NUMA node
*/
C10_API void NUMABind(int numa_node_id);
/**
* Get the NUMA id for a given pointer `ptr`
*/
C10_API int GetNUMANode(const void* ptr);
/**
* Get number of NUMA nodes
*/
C10_API int GetNumNUMANodes();
/**
* Move the memory pointed to by `ptr` of a given size to another NUMA node
*/
C10_API void NUMAMove(void* ptr, size_t size, int numa_node_id);
/**
* Get the current NUMA node id
*/
C10_API int GetCurrentNUMANode();
} // namespace c10