Skip to content

Commit

Permalink
memory reuse code clean
Browse files Browse the repository at this point in the history
  • Loading branch information
LaiYongqiang committed Jun 18, 2021
1 parent 8301489 commit d4d6fb9
Show file tree
Hide file tree
Showing 13 changed files with 65 additions and 953 deletions.
1 change: 1 addition & 0 deletions cmake/options.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ endif()

if(DEBUG_MODE)
set(CMAKE_BUILD_TYPE "Debug")
add_compile_definitions(MEM_REUSE_DEBUG)
else()
set(CMAKE_BUILD_TYPE "Release")
endif()
Expand Down
20 changes: 20 additions & 0 deletions mindspore/ccsrc/backend/optimizer/mem_reuse/mem_reuse.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,26 @@ class MemReuseUtil {
std::unordered_map<AnfNodePtr, session::KernelWithIndex> visit_kernel_with_return_type_in0pos_skip_nop_cache_;
};
using MemReuseUtilPtr = std::shared_ptr<MemReuseUtil>;

enum Status { kUnused, kReused };
enum MemType { kNew, kInStreamReuse, kBetweenStreamReuse, kKernelDependenceReuse };
class Membuf {
public:
Membuf() = default;
Membuf(Status status, size_t size, size_t offset, int index, MemType type, const KernelDefPtr &used_kernel)
: status_(status), size_(size), offset_(offset), index_(index), type_(type), used_kernel_(used_kernel) {}
~Membuf() = default;
// Memory block status flags
Status status_ = kUnused;
size_t size_{0};
size_t offset_{0};
// Store the tensor index stored in this memory block at a certain moment
int index_{0};
MemType type_{kNew};
KernelDefPtr used_kernel_;
};
using MembufPtr = std::shared_ptr<Membuf>;

} // namespace memreuse
} // namespace mindspore

Expand Down
Loading

0 comments on commit d4d6fb9

Please sign in to comment.