Newer
Older
#include "MemoryProcessing.h"
#ifdef INCLUDE_CUDA
#include "MemoryProcessing.cuh"
#endif
template< MemType mem, buf_choose_policy choose_type >
memory_pipe<mem, choose_type>::memory_pipe()
template< MemType mem, buf_choose_policy choose_type >
memory_pipe<mem, choose_type>::~memory_pipe()
template< MemType mem, buf_choose_policy choose_type >
void memory_pipe<mem, choose_type>::set_available(const int id)
std::vector<buffer >& memory_pipe<mem, choose_type>::get_buff_vec()
template class memory_pipe<MemType::CPU, buf_choose_policy::naive>;
template class memory_pipe<MemType::CPU, buf_choose_policy::sorted_vec>;
template class memory_pipe<MemType::CPU, buf_choose_policy::find_best_unsorted>;
template class memory_pipe<MemType::GPU, buf_choose_policy::naive>;
template class memory_pipe<MemType::GPU, buf_choose_policy::sorted_vec>;
template class memory_pipe<MemType::GPU, buf_choose_policy::find_best_unsorted>;
template< MemType mem, buf_choose_policy choose_type >
memory_pipe<mem, choose_type>& memory_faucet::get_faucet()
static memory_pipe<mem, choose_type> mem_pipe = memory_pipe<mem, choose_type>();
return mem_pipe;
template memory_pipe<MemType::CPU, buf_choose_policy::naive>& memory_faucet::get_faucet();
template memory_pipe<MemType::CPU, buf_choose_policy::sorted_vec>& memory_faucet::get_faucet();
template memory_pipe<MemType::CPU, buf_choose_policy::find_best_unsorted>& memory_faucet::get_faucet();
template memory_pipe<MemType::GPU, buf_choose_policy::naive>& memory_faucet::get_faucet();
template memory_pipe<MemType::GPU, buf_choose_policy::sorted_vec>& memory_faucet::get_faucet();
template memory_pipe<MemType::GPU, buf_choose_policy::find_best_unsorted>& memory_faucet::get_faucet();
template< MemType mem, buf_choose_policy choose_type >
memBuf<mem, choose_type>::memBuf(const size_t required_size)
memory_pipe<mem, choose_type>& mem_pipe = memory_faucet::get_faucet<mem, choose_type>();
id = mf_utils::get_buffer<choose_type>(required_size, mem_pipe.get_buff_vec(), mem, &buf);
memory_pipe<mem, choose_type>& mem_pipe = memory_faucet::get_faucet<mem, choose_type>();
mem_pipe.set_available(id);
template< MemType mem, buf_choose_policy choose_type >
memBuf<mem, choose_type>::~memBuf()
{
free_memory();
}
template< MemType mem, buf_choose_policy choose_type >
void** memBuf<mem, choose_type>::ptr()
{
return &buf;
}
template< MemType mem, buf_choose_policy choose_type >
const void* memBuf<mem, choose_type>::ptr() const
template< MemType mem, buf_choose_policy choose_type >
int memBuf<mem, choose_type>::get_id() const
{
return id;
}
template< MemType mem, buf_choose_policy choose_type >
memBuf<mem, choose_type>::memBuf()
{
buf = nullptr;
id = -1;
size = 0;
}
template< MemType mem, buf_choose_policy choose_type >
void memBuf<mem, choose_type>::get_memory(const size_t required_size)
{
free_memory();
memory_pipe<mem, choose_type>& mem_pipe = memory_faucet::get_faucet<mem, choose_type>();
id = mf_utils::get_buffer<choose_type>(required_size, mem_pipe.get_buff_vec(), mem, &buf);
size = required_size;
}
template class memBuf<MemType::CPU, buf_choose_policy::sorted_vec>;
template class memBuf<MemType::CPU, buf_choose_policy::find_best_unsorted>;
template class memBuf<MemType::GPU, buf_choose_policy::sorted_vec>;
template class memBuf<MemType::GPU, buf_choose_policy::find_best_unsorted>;