Newer
Older
#include "Event.h"
#include <iostream>
#include <string>
#include <set>
#ifdef INCLUDE_MPI
#include <mpi.h>
#endif
class Jikan
{
public:
std::map<std::string, EventData> Events;
std::map<std::string, std::set<std::string> > EventType;
std::string JSONname;
std::string JSONdata;
std::string Error;
Jikan();
~Jikan();
void Jikan_start(const std::string& name, const int& mode);
void Jikan_end( const std::string& name);
#ifdef INCLUDE_GPU_TIMER
void cuda_Jikan_start(const std::string& name);
void cuda_Jikan_end( const std::string& name);
#endif
void GenerateTypedOutputData(const std::string& EventType, std::string& EventTypeString);
void GenerateOutputData();
// private:
bool ifContains(const std::string& name);
#ifdef INCLUDE_MPI
bool ifWriteProc(MPI_Comm comm, int id);
#endif
void SetDumpFilename(const std::string& name);
private:
void StartTimer(const std::string& name);
void BarrierMPI();
void StartEventTimer(const std::string& name);
void EndEventTimer(const std::string& name);