mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2025-12-10 03:15:20 +08:00
24 lines
551 B
C++
24 lines
551 B
C++
#include <cstdlib>
|
|
|
|
#include "scratchpad_manager.h"
|
|
|
|
DNNLScratchPadManager::DNNLScratchPadManager() : size_(0), ptr_(nullptr) {
|
|
this->realloc(allocation_unit * 128);
|
|
}
|
|
|
|
void DNNLScratchPadManager::realloc(size_t new_size) {
|
|
new_size = round(new_size);
|
|
if (new_size > size_) {
|
|
if (ptr_ != nullptr) {
|
|
std::free(ptr_);
|
|
}
|
|
ptr_ = std::aligned_alloc(64, new_size);
|
|
size_ = new_size;
|
|
}
|
|
}
|
|
|
|
DNNLScratchPadManager* DNNLScratchPadManager::get_dnnl_scratchpad_manager() {
|
|
static DNNLScratchPadManager manager;
|
|
return &manager;
|
|
}
|