Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
proteus::MPIStorageCache Class Reference

#include <MPIStorageCache.h>

Inheritance diagram for proteus::MPIStorageCache:
Inheritance graph
[legend]
Collaboration diagram for proteus::MPIStorageCache:
Collaboration graph
[legend]

Public Member Functions

 MPIStorageCache (const std::string &Label)
 
 ~MPIStorageCache () override
 
void store (const HashT &HashValue, const CacheEntry &Entry) override
 
void finalize () override
 
void printStats () override
 
uint64_t getHits () const override
 
uint64_t getAccesses () const override
 
- Public Member Functions inherited from proteus::ObjectCache
virtual ~ObjectCache ()=default
 
virtual std::string getName () const =0
 
virtual std::unique_ptr< CompiledLibrarylookup (const HashT &HashValue)=0
 

Protected Member Functions

void startCommThread ()
 
std::unique_ptr< CompiledLibrarylookupFromDisk (const HashT &HashValue)
 
virtual void handleMessage (MPI_Status &Status, MPITag Tag)
 
void forwardToWriter (const HashT &HashValue, const CacheEntry &Entry)
 
void saveToDisk (const HashT &HashValue, const char *Data, size_t Size, bool IsDynLib)
 
- Protected Member Functions inherited from proteus::ObjectCache
 ObjectCache ()=default
 

Protected Attributes

uint64_t Hits = 0
 
uint64_t Accesses = 0
 
const std::string StorageDirectory
 
const std::string Label
 
MPICommHandle CommHandle
 
CommThreadHandle CommThread
 

Constructor & Destructor Documentation

◆ MPIStorageCache()

proteus::MPIStorageCache::MPIStorageCache ( const std::string &  Label)

◆ ~MPIStorageCache()

proteus::MPIStorageCache::~MPIStorageCache ( )
overridedefault

Member Function Documentation

◆ finalize()

void proteus::MPIStorageCache::finalize ( )
overridevirtual

Implements proteus::ObjectCache.

◆ forwardToWriter()

void proteus::MPIStorageCache::forwardToWriter ( const HashT HashValue,
const CacheEntry Entry 
)
protected

◆ getAccesses()

uint64_t proteus::MPIStorageCache::getAccesses ( ) const
inlineoverridevirtual

Implements proteus::ObjectCache.

◆ getHits()

uint64_t proteus::MPIStorageCache::getHits ( ) const
inlineoverridevirtual

Implements proteus::ObjectCache.

◆ handleMessage()

void proteus::MPIStorageCache::handleMessage ( MPI_Status &  Status,
MPITag  Tag 
)
protectedvirtual

Reimplemented in proteus::MPIRemoteLookupCache.

◆ lookupFromDisk()

std::unique_ptr< CompiledLibrary > proteus::MPIStorageCache::lookupFromDisk ( const HashT HashValue)
protected

◆ printStats()

void proteus::MPIStorageCache::printStats ( )
overridevirtual

Implements proteus::ObjectCache.

◆ saveToDisk()

void proteus::MPIStorageCache::saveToDisk ( const HashT HashValue,
const char *  Data,
size_t  Size,
bool  IsDynLib 
)
protected

◆ startCommThread()

void proteus::MPIStorageCache::startCommThread ( )
protected

◆ store()

void proteus::MPIStorageCache::store ( const HashT HashValue,
const CacheEntry Entry 
)
overridevirtual

Implements proteus::ObjectCache.

Member Data Documentation

◆ Accesses

uint64_t proteus::MPIStorageCache::Accesses = 0
protected

◆ CommHandle

MPICommHandle proteus::MPIStorageCache::CommHandle
protected

◆ CommThread

CommThreadHandle proteus::MPIStorageCache::CommThread
protected

◆ Hits

uint64_t proteus::MPIStorageCache::Hits = 0
protected

◆ Label

const std::string proteus::MPIStorageCache::Label
protected

◆ StorageDirectory

const std::string proteus::MPIStorageCache::StorageDirectory
protected

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