docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::analysis::DataTransferEliminationCandidateCollector Class Reference

#include <sdfg/analysis/data_transfer_elimination_analysis.h>

Inheritance diagram for sdfg::analysis::DataTransferEliminationCandidateCollector:
[legend]

Public Member Functions

void found_transfer_reuse_pair (const ExposedOffload &src, OffloadHolder &dst)
void register_device_free (const std::string &container, structured_control_flow::Block *block, offloading::DataOffloadingNode *node)
const std::vector< DeviceFreeSite > * device_frees (const std::string &container) const
 All device-buffer free sites for container, or nullptr if it is never freed on device.
void found_empty_host_malloc (const ExposedOffload &malloc, OffloadHolder &h2d_transfer)
void found_redundant_d2h_pair (const ExposedOffload &h2d, OffloadHolder &d2h)
const std::vector< std::pair< ExposedOffload, OffloadHolder & > > & transfer_reuse_candidates () const
const std::vector< std::pair< ExposedOffload, OffloadHolder & > > & empty_malloc_candidates () const
const std::vector< std::pair< ExposedOffload, OffloadHolder & > > & redundant_d2h_candidates () const

Protected Attributes

std::vector< std::pair< ExposedOffload, OffloadHolder & > > transfer_reuse_candidates_
std::vector< std::pair< ExposedOffload, OffloadHolder & > > empty_malloc_candidates_
std::vector< std::pair< ExposedOffload, OffloadHolder & > > redundant_d2h_candidates_
std::unordered_map< std::string, std::vector< DeviceFreeSite > > device_free_sites_

Member Function Documentation

◆ device_frees()

const std::vector< DeviceFreeSite > * sdfg::analysis::DataTransferEliminationCandidateCollector::device_frees ( const std::string & container) const
inline

All device-buffer free sites for container, or nullptr if it is never freed on device.

◆ empty_malloc_candidates()

const std::vector< std::pair< ExposedOffload, OffloadHolder & > > & sdfg::analysis::DataTransferEliminationCandidateCollector::empty_malloc_candidates ( ) const
inline

◆ found_empty_host_malloc()

void sdfg::analysis::DataTransferEliminationCandidateCollector::found_empty_host_malloc ( const ExposedOffload & malloc,
OffloadHolder & h2d_transfer )
inline

◆ found_redundant_d2h_pair()

void sdfg::analysis::DataTransferEliminationCandidateCollector::found_redundant_d2h_pair ( const ExposedOffload & h2d,
OffloadHolder & d2h )
inline

◆ found_transfer_reuse_pair()

void sdfg::analysis::DataTransferEliminationCandidateCollector::found_transfer_reuse_pair ( const ExposedOffload & src,
OffloadHolder & dst )
inline

◆ redundant_d2h_candidates()

const std::vector< std::pair< ExposedOffload, OffloadHolder & > > & sdfg::analysis::DataTransferEliminationCandidateCollector::redundant_d2h_candidates ( ) const
inline

◆ register_device_free()

void sdfg::analysis::DataTransferEliminationCandidateCollector::register_device_free ( const std::string & container,
structured_control_flow::Block * block,
offloading::DataOffloadingNode * node )
inline

◆ transfer_reuse_candidates()

const std::vector< std::pair< ExposedOffload, OffloadHolder & > > & sdfg::analysis::DataTransferEliminationCandidateCollector::transfer_reuse_candidates ( ) const
inline

Member Data Documentation

◆ device_free_sites_

std::unordered_map<std::string, std::vector<DeviceFreeSite> > sdfg::analysis::DataTransferEliminationCandidateCollector::device_free_sites_
protected

◆ empty_malloc_candidates_

std::vector<std::pair<ExposedOffload, OffloadHolder&> > sdfg::analysis::DataTransferEliminationCandidateCollector::empty_malloc_candidates_
protected

◆ redundant_d2h_candidates_

std::vector<std::pair<ExposedOffload, OffloadHolder&> > sdfg::analysis::DataTransferEliminationCandidateCollector::redundant_d2h_candidates_
protected

◆ transfer_reuse_candidates_

std::vector<std::pair<ExposedOffload, OffloadHolder&> > sdfg::analysis::DataTransferEliminationCandidateCollector::transfer_reuse_candidates_
protected

The documentation for this class was generated from the following file: