!1395 add memory swap manager module

Merge pull request !1395 from zyli2020/add_mem_swap_module_header
pull/1395/MERGE
mindspore-ci-bot 6 years ago committed by Gitee
commit 20d71dfbc3

@ -23,7 +23,6 @@
#include <memory> #include <memory>
#include <utility> #include <utility>
#include "session/kernel_graph.h" #include "session/kernel_graph.h"
#include "device/gpu/cuda_driver.h"
#include "kernel/kernel.h" #include "kernel/kernel.h"
using HostAddress = mindspore::kernel::Address; using HostAddress = mindspore::kernel::Address;

File diff suppressed because it is too large Load Diff

@ -23,7 +23,7 @@
#include <memory> #include <memory>
#include <vector> #include <vector>
#include <utility> #include <utility>
#include "pre_activate/mem_reuse/mem_swap_util.h" #include "pre_activate/mem_reuse/mem_copy_manager.h"
using PerformPair = std::pair<float, float>; using PerformPair = std::pair<float, float>;
namespace mindspore { namespace mindspore {
@ -31,9 +31,9 @@ namespace device {
namespace memswap { namespace memswap {
class MemSwapManager { class MemSwapManager {
public: public:
MemSwapManager() explicit MemSwapManager(const MemCopyManagerPtr &mem_copy_manager)
: tensor_size_threshold_(0), tensor_size_threshold_idx_(0), tensor_size_num_(1), distance_threshold_(1) { : tensor_size_threshold_(0), tensor_size_threshold_idx_(0), tensor_size_num_(1), distance_threshold_(1) {
mem_copy_manager_ = std::make_shared<MemCopyManager>(); mem_copy_manager_ = mem_copy_manager;
} }
~MemSwapManager() = default; ~MemSwapManager() = default;
@ -75,9 +75,9 @@ class MemSwapManager {
const HostAddress &kernel_host_addr(const AnfNodePtr &kernel, size_t output_idx) const; const HostAddress &kernel_host_addr(const AnfNodePtr &kernel, size_t output_idx) const;
size_t AllocHostPinnedMemory(size_t size, HostMemPtr *addr) const; bool AllocHostPinnedMem(size_t size, void **addr) const;
void FreeHostPinnedMemory(); void ReleaseHostPinnedMem();
void ClearSwapQueue(); void ClearSwapQueue();
@ -110,10 +110,13 @@ class MemSwapManager {
size_t tensor_size_num_; size_t tensor_size_num_;
size_t distance_threshold_; size_t distance_threshold_;
MemCopyManagerPtr mem_copy_manager_{nullptr}; MemCopyManagerPtr mem_copy_manager_;
bool mem_swap_initialized_{false}; bool mem_swap_initialized_{false};
bool swap_info_already_set_{false}; bool swap_info_already_set_{false};
bool trigger_swap_{false}; bool trigger_swap_{false};
static constexpr size_t kDistanceInitFactor = 3;
static constexpr size_t kDistanceLowerBound = 3;
}; };
using MemSwapManagerPtr = std::shared_ptr<MemSwapManager>; using MemSwapManagerPtr = std::shared_ptr<MemSwapManager>;
} // namespace memswap } // namespace memswap

Loading…
Cancel
Save