AQUAgpusph 5.0.4
Loading...
Searching...
No Matches
CalcServer.cpp File Reference

The calculation main entry point. (See Aqua::CalcServer::CalcServer for details) More...

#include <stdlib.h>
#include <dlfcn.h>
#include <limits>
#include <string>
#include <sstream>
#include <stack>
#include <assert.h>
#include <signal.h>
#include <tuple>
#include <mutex>
#include <atomic>
#include "CalcServer.hpp"
#include "aquagpusph/AuxiliarMethods.hpp"
#include "aquagpusph/InputOutput/Logger.hpp"
#include "Assert.hpp"
#include "Conditional.hpp"
#include "Copy.hpp"
#include "Kernel.hpp"
#include "LinkList.hpp"
#include "Python.hpp"
#include "RadixSort.hpp"
#include "Sort.hpp"
#include "Reduction.hpp"
#include "Set.hpp"
#include "SetScalar.hpp"
#include "UnSort.hpp"
#include "Reports/Dump.hpp"
#include "Reports/Performance.hpp"
#include "Reports/Screen.hpp"
#include "Reports/SetTabFile.hpp"
#include "Reports/TabFile.hpp"
#include <mpi.h>
#include "MPISync.hpp"
Include dependency graph for CalcServer.cpp:

Namespaces

namespace  Aqua
 Main AQUAgpusph namespace.
namespace  Aqua::CalcServer
 Calculation server name space.

Functions

void Aqua::CalcServer::sigint_handler (int UNUSED_PARAM s)
 Handle SIGINT signals.
std::atomic< CalcServer * > Aqua::CalcServer::g_calcserver_singleton_ptr (nullptr)
 Singleton instance of Aqua::CalcServer::CalcServer.
cl_command_queue Aqua::CalcServer::create_command_queue (cl_context context, cl_device_id device, cl_int *errcode_ret)
 Create an OpenCL command queue.
std::tuple< unsigned int, unsigned int > Aqua::CalcServer::opencl_version (std::string version)
 Get the OpenCL major and minor version from the string returned by clGetPlatformInfo() and clGetDeviceInfo()
std::tuple< unsigned int, unsigned int > Aqua::CalcServer::opencl_version (cl_platform_id platform)
 Get the paltform's OpenCL major and minor version.
std::tuple< unsigned int, unsigned int > Aqua::CalcServer::opencl_version (cl_device_id device)
 Get the device's OpenCL major and minor version.
std::string Aqua::CalcServer::getDeviceInfoStr (cl_device_id device, cl_device_info param_name)
 Wrapper to clGetDeviceInfo() for strings related operations.
void CL_CALLBACK Aqua::CalcServer::context_error_notify (const char *errinfo, const void UNUSED_PARAM *private_info, size_t UNUSED_PARAM cb, void *user_data)
 Runtime error reporting tool.
void CL_CALLBACK Aqua::CalcServer::device_timer_sampler (cl_event event, cl_int UNUSED_PARAM event_command_status, void *user_data)
 Sample both the system clock and the devie timer to compute the offset.

Variables

static bool Aqua::CalcServer::sigint_received = false
 Have been a SIGINT already registered?
std::mutex Aqua::CalcServer::profiling_mutex
 A mutex to avoid several threads writing profiling samples simultaneously.

Detailed Description

The calculation main entry point. (See Aqua::CalcServer::CalcServer for details)