]> git.sesse.net Git - stockfish/blobdiff - src/nnue/evaluate_nnue.h
Add large page support for NNUE weights and simplify TT mem management
[stockfish] / src / nnue / evaluate_nnue.h
index 5f0d185589e70917f50e0137a6e424ce7b36159f..459a93de7e959c1eba22c516aa4d22b6fe98d590 100644 (file)
@@ -40,9 +40,20 @@ namespace Eval::NNUE {
     }
   };
 
+  template <typename T>
+  struct TtmemDeleter {
+    void operator()(T* ptr) const {
+      ptr->~T();
+      aligned_large_pages_free(ptr);
+    }
+  };
+
   template <typename T>
   using AlignedPtr = std::unique_ptr<T, AlignedDeleter<T>>;
 
+  template <typename T>
+  using LargePagePtr = std::unique_ptr<T, TtmemDeleter<T>>;
+
 }  // namespace Eval::NNUE
 
 #endif // #ifndef NNUE_EVALUATE_NNUE_H_INCLUDED