本文整理汇总了C++中V2::numOfProcsForStorage方法的典型用法代码示例。如果您正苦于以下问题:C++ V2::numOfProcsForStorage方法的具体用法?C++ V2::numOfProcsForStorage怎么用?C++ V2::numOfProcsForStorage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类V2
的用法示例。
在下文中一共展示了V2::numOfProcsForStorage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void
MiscCheckTheParallelEnvironment(const V1& vec1, const V2& vec2)
{
const BaseEnvironment& env = vec1.env();
if (env.numSubEnvironments() == (unsigned int) env.fullComm().NumProc()) {
UQ_FATAL_TEST_MACRO(env.subRank() != 0,
env.worldRank(),
"MiscCheckTheParallelEnvironment<V1,V2>()",
"there should exist only one processor per sub environment");
UQ_FATAL_TEST_MACRO((vec1.numOfProcsForStorage() != 1) ||
(vec2.numOfProcsForStorage() != 1),
env.worldRank(),
"MiscCheckTheParallelEnvironment<V1,V2>()",
"only 1 processor (per sub environment) should be necessary for the storage of a parameter vector");
}
else if (env.numSubEnvironments() < (unsigned int) env.fullComm().NumProc()) {
UQ_FATAL_TEST_MACRO(env.fullComm().NumProc()%env.numSubEnvironments() != 0,
env.worldRank(),
"MiscCheckTheParallelEnvironment<V1,V2>()",
"total number of processors should be a multiple of the number of sub environments");
unsigned int numProcsPerSubEnvironment = env.fullComm().NumProc()/env.numSubEnvironments();
UQ_FATAL_TEST_MACRO(env.subComm().NumProc() != (int) numProcsPerSubEnvironment,
env.worldRank(),
"MiscCheckTheParallelEnvironment<V1,V2>()",
"inconsistent number of processors per sub environment");
if ((vec1.numOfProcsForStorage() == 1) &&
(vec2.numOfProcsForStorage() == 1)) {
// Ok
}
else if ((vec1.numOfProcsForStorage() == numProcsPerSubEnvironment) &&
(vec2.numOfProcsForStorage() == numProcsPerSubEnvironment)) {
UQ_FATAL_TEST_MACRO(true,
env.worldRank(),
"MiscCheckTheParallelEnvironment<V1,V2>()",
"parallel vectors are not supported yet");
}
else {
UQ_FATAL_TEST_MACRO(true,
env.worldRank(),
"MiscCheckTheParallelEnvironment<V1,V2>()",
"number of processors required for a vector storage should be equal to either 1 or to the number of processors in the sub environment");
}
}
else {
UQ_FATAL_TEST_MACRO(true,
env.worldRank(),
"MiscCheckTheParallelEnvironment<V1,V2>()",
"number of processors per sub environment is less than 1!");
}
return;
}