AQUAgpusph 5.0.4
Loading...
Searching...
No Matches
sphPrerequisites.hpp File Reference

Set of definitions and macros related with the implementation. More...

#include <string>
#include "aquagpusph/config.h"
#include <CL/cl.h>
#include <boost/current_function.hpp>
Include dependency graph for sphPrerequisites.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define XSTR(x)
 Just an alias for STR.
#define STR(x)
 An auxiliary macro to can print defined variables in compilation time.
#define DECLDIR
 Prefix to export C functions on the compiled library.
#define icl   cl_int
 Signed integer number.
#define lcl   cl_long
 Signed 64bits integer number.
#define uicl   cl_uint
 Unsigned integer number.
#define ulcl   cl_ulong
#define fcl   cl_float
 Floating point number.
#define dcl   cl_double
#define vec2   cl_float2
 Vector of 2 real components.
#define vec3   cl_float3
 Vector of 3 real components.
#define vec4   cl_float4
 Vector of 4 real components.
#define vec8   cl_float8
 Vector of 8 real components.
#define vec16   cl_float16
 Vector of 16 real components.
#define matrix2x2   cl_float4
 2D matrix of float numbers.
#define matrix4x4   cl_float16
 3D matrix of float numbers.
#define dvec2   cl_double2
 Vector of 2 64bits real components.
#define dvec3   cl_double3
 Vector of 3 64bits real components.
#define dvec4   cl_double4
 Vector of 4 64bits real components.
#define dvec8   cl_double8
 Vector of 8 64bits real components.
#define dvec16   cl_double16
 Vector of 16 64bits real components.
#define ivec2   cl_int2
 Vector of 2 integer components.
#define ivec3   cl_int3
 Vector of 3 integer components.
#define ivec4   cl_int4
 Vector of 4 integer components.
#define ivec8   cl_int8
 Vector of 8 integer components.
#define ivec16   cl_int16
 Vector of 16 integer components.
#define lvec2   cl_long2
 Vector of 2 64bits integer components.
#define lvec3   cl_long3
 Vector of 3 64bits integer components.
#define lvec4   cl_long4
 Vector of 4 64bits integer components.
#define lvec8   cl_long8
 Vector of 8 64bits integer components.
#define lvec16   cl_long16
 Vector of 16 64bits integer components.
#define uivec2   cl_uint2
 Vector of 2 unsigned integer components.
#define uivec3   cl_uint3
 Vector of 3 unsigned integer components.
#define uivec4   cl_uint4
 Vector of 4 unsigned integer components.
#define uivec8   cl_uint8
 Vector of 8 unsigned integer components.
#define uivec16   cl_uint16
 Vector of 16 unsigned integer components.
#define ulvec2   cl_ulong2
 Vector of 2 64bits unsigned integer components.
#define ulvec3   cl_ulong3
 Vector of 3 64bits unsigned integer components.
#define ulvec4   cl_ulong4
 Vector of 4 64bits unsigned integer components.
#define ulvec8   cl_ulong8
 Vector of 8 64bits unsigned integer components.
#define ulvec16   cl_ulong16
 Vector of 16 64bits unsigned integer components.
#define __CL_MIN_LOCALSIZE__   64
 Minimum local work size to execute kernels.
#define __CL_MAX_LOCALSIZE__   1024
 Maximum local work size to execute kernels.
#define __METHOD_CLASS_NAME__   methodAndClassName(BOOST_CURRENT_FUNCTION)
 Returns automatically the current class and function names.
#define UNUSED_PARAM

Functions

const std::string methodAndClassName (const std::string &pretty_function)
 Function to extract the class and function from <strong class= macro.

Variables

static std::string methodAndClassName_str
 Helper string for methodAndClassName function.

Detailed Description

Set of definitions and macros related with the implementation.

Macro Definition Documentation

◆ __CL_MAX_LOCALSIZE__

#define __CL_MAX_LOCALSIZE__   1024

Maximum local work size to execute kernels.

The selected value have been tested in the following platforms:

  • AMD CPU
  • Intel CPU
  • AMD GPU
  • NVidia GPU

◆ __CL_MIN_LOCALSIZE__

#define __CL_MIN_LOCALSIZE__   64

Minimum local work size to execute kernels.

The selected value have been tested in the following platforms:

  • AMD CPU
  • Intel CPU
  • AMD GPU
  • NVidia GPU

◆ __METHOD_CLASS_NAME__

#define __METHOD_CLASS_NAME__   methodAndClassName(BOOST_CURRENT_FUNCTION)

Returns automatically the current class and function names.

See also
methodAndClassName()
addMessageF

◆ dcl

#define dcl   cl_double

◆ DECLDIR

#define DECLDIR

Prefix to export C functions on the compiled library.

◆ dvec16

#define dvec16   cl_double16

Vector of 16 64bits real components.

◆ dvec2

#define dvec2   cl_double2

Vector of 2 64bits real components.

◆ dvec3

#define dvec3   cl_double3

Vector of 3 64bits real components.

◆ dvec4

#define dvec4   cl_double4

Vector of 4 64bits real components.

◆ dvec8

#define dvec8   cl_double8

Vector of 8 64bits real components.

◆ fcl

#define fcl   cl_float

Floating point number.

Double precission floating point number.

◆ icl

#define icl   cl_int

Signed integer number.

◆ ivec16

#define ivec16   cl_int16

Vector of 16 integer components.

◆ ivec2

#define ivec2   cl_int2

Vector of 2 integer components.

◆ ivec3

#define ivec3   cl_int3

Vector of 3 integer components.

◆ ivec4

#define ivec4   cl_int4

Vector of 4 integer components.

◆ ivec8

#define ivec8   cl_int8

Vector of 8 integer components.

◆ lcl

#define lcl   cl_long

Signed 64bits integer number.

Unsigned 64bits integer number.

◆ lvec16

#define lvec16   cl_long16

Vector of 16 64bits integer components.

◆ lvec2

#define lvec2   cl_long2

Vector of 2 64bits integer components.

◆ lvec3

#define lvec3   cl_long3

Vector of 3 64bits integer components.

◆ lvec4

#define lvec4   cl_long4

Vector of 4 64bits integer components.

◆ lvec8

#define lvec8   cl_long8

Vector of 8 64bits integer components.

◆ matrix2x2

#define matrix2x2   cl_float4

2D matrix of float numbers.

◆ matrix4x4

#define matrix4x4   cl_float16

3D matrix of float numbers.

◆ STR

#define STR ( x)
Value:
#x

An auxiliary macro to can print defined variables in compilation time.

For instance:

#define _VAR 1
#pragma message "_VAR = " STR(_VAR)

◆ uicl

#define uicl   cl_uint

Unsigned integer number.

◆ uivec16

#define uivec16   cl_uint16

Vector of 16 unsigned integer components.

◆ uivec2

#define uivec2   cl_uint2

Vector of 2 unsigned integer components.

◆ uivec3

#define uivec3   cl_uint3

Vector of 3 unsigned integer components.

◆ uivec4

#define uivec4   cl_uint4

Vector of 4 unsigned integer components.

◆ uivec8

#define uivec8   cl_uint8

Vector of 8 unsigned integer components.

◆ ulcl

#define ulcl   cl_ulong

◆ ulvec16

#define ulvec16   cl_ulong16

Vector of 16 64bits unsigned integer components.

◆ ulvec2

#define ulvec2   cl_ulong2

Vector of 2 64bits unsigned integer components.

◆ ulvec3

#define ulvec3   cl_ulong3

Vector of 3 64bits unsigned integer components.

◆ ulvec4

#define ulvec4   cl_ulong4

Vector of 4 64bits unsigned integer components.

◆ ulvec8

#define ulvec8   cl_ulong8

Vector of 8 64bits unsigned integer components.

◆ UNUSED_PARAM

#define UNUSED_PARAM

◆ vec16

#define vec16   cl_float16

Vector of 16 real components.

◆ vec2

#define vec2   cl_float2

Vector of 2 real components.

◆ vec3

#define vec3   cl_float3

Vector of 3 real components.

◆ vec4

#define vec4   cl_float4

Vector of 4 real components.

◆ vec8

#define vec8   cl_float8

Vector of 8 real components.

◆ XSTR

#define XSTR ( x)
Value:
STR(x)
#define STR(x)
An auxiliary macro to can print defined variables in compilation time.
Definition sphPrerequisites.hpp:39

Just an alias for STR.

Function Documentation

◆ methodAndClassName()

const std::string methodAndClassName ( const std::string & pretty_function)
inline

Function to extract the class and function from <strong class= macro.

The GNU compiler (GCC) macro <strong class= contains a lot of information about the name space, the returning value, and the parameters.

In order to print log information this data should be simplified.

Parameters
pretty_functionGCC <strong class= macro
Returns
Class and function name ("Class::function")
See also
__METHOD_CLASS_NAME__

Variable Documentation

◆ methodAndClassName_str

std::string methodAndClassName_str
static

Helper string for methodAndClassName function.