fastm/BHgpu  1.5
Быстрые алгоритмы в вихревых методах моделирования плоских течений
Пространство имен BHcu

Функции

void PrintLogoToStream (std::ostream &str)
 
void PrintConfiguration (int nbodies)
 
void PrintStatistics (int run, int runs, const float *timing, const float *mintiming, const float *avtiming, double runtime, double minruntime, double avruntime)
 
void PrintAccuracyHead ()
 
void PrintAccuracyError (real val)
 

Переменные

static const int order = 14
 
static const std::string nameFile = "../../test/Wake/wake2m.txt"
 
static const std::string task = "2m"
 
static const bool compare = true
 
static const bool BSfromFile = true
 
static const bool save = false
 
static const int runs = 10
 
static const bool printFullCUDAinfo = false
 
static const int dev = 0
 

Функции

void BHcu::PrintAccuracyError ( real  val)

См. определение в файле Logo.h строка 135

136  {
137  std::cout << "Relative error: " << val << std::endl;
138 
139  std::cout << "------------------------------------------------------------------------" << std::endl;
140  }

Граф вызова функции:

void BHcu::PrintAccuracyHead ( )

См. определение в файле Logo.h строка 128

129  {
130  std::cout << std::endl;
131  std::cout << " Accuracy control " << std::endl;
132  std::cout << "------------------------------------------------------------------------" << std::endl;
133  }

Граф вызова функции:

void BHcu::PrintConfiguration ( int  nbodies)

См. определение в файле Logo.h строка 64

65  {
66  std::cout << std::endl;
67  std::cout << " Configuration for task \"" << task << "\"" << std::endl;
68  std::cout << "------------------------------------------------------------------------" << std::endl;
69  std::cout << "Floating point type: " << (sizeof(real) == 4 ? "float" : "double") << " (" << sizeof(real) << " bytes)" << std::endl;
70  std::cout << "Number of bodies: " << nbodies << " (eps = " << EPS << ")" << std::endl;
71  std::cout << "Multipoles: " << "up to " << order << "-th order" << std::endl;
72  std::cout << "Theta in proximity criterion: " << THETA << std::endl;
73  std::cout << "Compare/save: " << (compare ? "true" : "false") << "/" << (save ? "true" : "false") << std::endl;
74  std::cout << "------------------------------------------------------------------------" << std::endl;
75  }
static const std::string task
Definition: Params.h:74
#define THETA
Параметр точности
Definition: Params.h:63
static const bool save
Definition: Params.h:83
#define EPS
Радиус вихревого элемента
Definition: Params.h:47
static const int order
Definition: Params.h:69
#define real
Definition: Params.h:113
static const bool compare
Definition: Params.h:77

Граф вызова функции:

void BHcu::PrintLogoToStream ( std::ostream &  str)

См. определение в файле Logo.h строка 48

49  {
50  str <<
51  "/*--------------------------------*- BHgpu -*----------------*---------------*\\" << '\n' << \
52  "| ##### ## ## | | Version 1.5 |" << '\n' << \
53  "| ## ## ## ## #### ## ## | BHcu: Barnes-Hut method | 2023/08/29 |" << '\n' << \
54  "| ##### ###### ## ## ## | for 2D vortex particles *----------------*" << '\n' << \
55  "| ## ## ## ## ## ## ## | Open Source Code |" << '\n' << \
56  "| ##### ## ## #### #### | https://www.github.com/vortexmethods/fastm |" << '\n' << \
57  "| |" << '\n' << \
58  "| Copyright (C) 2020-2023 I. Marchevsky, E. Ryatina, A. Kolganova |" << '\n' << \
59  "| Copyright (C) 2013, Texas State University-San Marcos. All rights reserved. |" << '\n' << \
60  "\\*---------------------------------------------------------------------------*/" << '\n';
61  }

Граф вызова функции:

void BHcu::PrintStatistics ( int  run,
int  runs,
const float *  timing,
const float *  mintiming,
const float *  avtiming,
double  runtime,
double  minruntime,
double  avruntime 
)

См. определение в файле Logo.h строка 79

82  {
83  if (run == 0)
84  {
85  std::cout << std::endl;
86  std::cout << " Time statistics " << std::endl;
87  std::cout << "------------------------------------------------------------------------" << std::endl;
88  std::cout << " run/runs total BBK TBK CLK SKK FCK ker.time " << std::endl;
89  }
90 
91 
92  printf("# %3d/%-3d: %6.3lf s (", run + 1, runs, runtime);
93 
94  printf(" %3.1f ", timing[1]);
95  printf(" %4.1f ", timing[2]);
96  printf(" %4.1f ", timing[3]);
97  printf(" %4.1f ", timing[4]);
98  printf(" %6.1f ", timing[5]);
99 
100  printf(") = %6.1f ms\n", timing[6]);
101 
102  if (run == runs - 1)
103  {
104  std::cout << "------------------------------------------------------------------------" << std::endl;
105 
106  printf(" min : %6.3lf s (", minruntime);
107 
108  printf(" %3.1f ", mintiming[1]);
109  printf(" %4.1f ", mintiming[2]);
110  printf(" %4.1f ", mintiming[3]);
111  printf(" %4.1f ", mintiming[4]);
112  printf(" %6.1f ", mintiming[5]);
113  printf(") | %6.1f ms\n", mintiming[6]);
114 
115 
116  printf(" aver : %6.3lf s (", avruntime / runs);
117 
118  printf(" %3.1f ", avtiming[1] / runs);
119  printf(" %4.1f ", avtiming[2] / runs);
120  printf(" %4.1f ", avtiming[3] / runs);
121  printf(" %4.1f ", avtiming[4] / runs);
122  printf(" %6.1f ", avtiming[5] / runs);
123  printf(") | %6.1f ms\n", avtiming[6] / runs);
124  }
125  }
static const int runs
Definition: Params.h:86

Граф вызова функции:

Переменные

const bool BHcu::BSfromFile = true
static

См. определение в файле Params.h строка 81

const bool BHcu::compare = true
static

См. определение в файле Params.h строка 77

const int BHcu::dev = 0
static

См. определение в файле Params.h строка 98

const std::string BHcu::nameFile = "../../test/Wake/wake2m.txt"
static

См. определение в файле Params.h строка 72

const int BHcu::order = 14
static

См. определение в файле Params.h строка 69

const bool BHcu::printFullCUDAinfo = false
static

См. определение в файле Params.h строка 92

const int BHcu::runs = 10
static

См. определение в файле Params.h строка 86

const bool BHcu::save = false
static

См. определение в файле Params.h строка 83

const std::string BHcu::task = "2m"
static

См. определение в файле Params.h строка 74