Scippy

UG

Ubiquity Generator framework

paraTagDef.h
Go to the documentation of this file.
1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2/* */
3/* This file is part of the program and software framework */
4/* UG --- Ubquity Generator Framework */
5/* */
6/* Copyright Written by Yuji Shinano <shinano@zib.de>, */
7/* Copyright (C) 2021-2024 by Zuse Institute Berlin, */
8/* licensed under LGPL version 3 or later. */
9/* Commercial licenses are available through <licenses@zib.de> */
10/* */
11/* This code is free software; you can redistribute it and/or */
12/* modify it under the terms of the GNU Lesser General Public License */
13/* as published by the Free Software Foundation; either version 3 */
14/* of the License, or (at your option) any later version. */
15/* */
16/* This program is distributed in the hope that it will be useful, */
17/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
18/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
19/* GNU Lesser General Public License for more details. */
20/* */
21/* You should have received a copy of the GNU Lesser General Public License */
22/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
23/* */
24/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
25
26/**@file paraTagDef.h
27 * @brief Fundamental Tag definitions
28 * @author Yuji Shinano
29 *
30 *
31 *
32 */
33
34/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
35
36
37#ifndef __PARA_TAG_DEF_H__
38#define __PARA_TAG_DEF_H__
39
40#define TAG_STR(tag) #tag
41
42namespace UG
43{
44static const int TagAny = -1;
45static const int TAG_UG_FIRST = 0;
46//------------------------------------------------------------------------------------------------
47static const int TagTask = TAG_UG_FIRST + 0;
48static const int TagTaskReceived = TAG_UG_FIRST + 1;
49static const int TagDiffSubproblem = TAG_UG_FIRST + 2;
50static const int TagRampUp = TAG_UG_FIRST + 3;
51static const int TagSolution = TAG_UG_FIRST + 4;
52static const int TagIncumbentValue = TAG_UG_FIRST + 5;
53static const int TagSolverState = TAG_UG_FIRST + 6;
55static const int TagNotificationId = TAG_UG_FIRST + 8;
56static const int TagTerminateRequest = TAG_UG_FIRST + 9;
57static const int TagInterruptRequest = TAG_UG_FIRST + 10;
58static const int TagTerminated = TAG_UG_FIRST + 11;
59static const int TagRacingRampUpParamSet = TAG_UG_FIRST + 12;
60static const int TagWinner = TAG_UG_FIRST + 13;
61static const int TagHardTimeLimit = TAG_UG_FIRST + 14;
62static const int TagAckCompletion = TAG_UG_FIRST + 15;
63static const int TagToken = TAG_UG_FIRST + 16;
64//-----------------------------------------------------------------------------------------------
65static const int TAG_UG_BASE_LAST = TAG_UG_FIRST + 16;
67
68#ifdef _COMM_MPI_WORLD
69static const int TAG_MPI_FIRST = TAG_UG_BASE_LAST + 1;
70//-----------------------------------------------------------------------------------------------
71//-----------------------------------------------------------------------------------------------
72static const int TAG_MPI_LAST = TAG_MPI_FIRST - 1; /// -1 : no tag
73static const int N_MPI_TAGS = TAG_MPI_LAST - TAG_UG_FIRST + 1;
74
75static const int TAG_UG_LAST = TAG_MPI_LAST;
76static const int N_UG_TAGS = TAG_UG_LAST - TAG_UG_FIRST + 1;
77#endif
78
79#if defined(_COMM_PTH) || defined (_COMM_CPP11)
80static const int TAG_TH_FIRST = TAG_UG_BASE_LAST + 1;
81//-----------------------------------------------------------------------------------------------
82static const int TagParaInstance = TAG_TH_FIRST + 0;
83//-----------------------------------------------------------------------------------------------
84static const int TAG_TH_LAST = TAG_TH_FIRST + 0;
85static const int N_TH_TAGS = TAG_TH_LAST - TAG_UG_FIRST + 1;
86
87static const int TAG_UG_LAST = TAG_TH_LAST;
88static const int N_UG_TAGS = TAG_UG_LAST - TAG_UG_FIRST + 1;
89#endif
90
91}
92
93
94
95#endif // __PARA_TAG_DEF_H__
static const int TagAckCompletion
Definition: paraTagDef.h:62
static const int TagCompletionOfCalculation
Definition: paraTagDef.h:54
static const int TagWinner
Definition: paraTagDef.h:60
static const int TAG_TH_FIRST
Definition: paraTagDef.h:80
static const int TagSolution
Definition: paraTagDef.h:51
static const int TagToken
Definition: paraTagDef.h:63
static const int TagTaskReceived
Definition: paraTagDef.h:48
static const int N_UG_TAGS
Definition: paraTagDef.h:76
static const int N_TH_TAGS
Definition: paraTagDef.h:85
static const int TagInterruptRequest
Definition: paraTagDef.h:57
static const int TagNotificationId
Definition: paraTagDef.h:55
static const int TagIncumbentValue
Definition: paraTagDef.h:52
static const int TAG_MPI_LAST
Definition: paraTagDef.h:72
static const int N_MPI_TAGS
-1 : no tag
Definition: paraTagDef.h:73
static const int TagTerminated
Definition: paraTagDef.h:58
static const int TAG_UG_LAST
Definition: paraTagDef.h:75
static const int TAG_UG_FIRST
Definition: paraTagDef.h:45
static const int TagTerminateRequest
Definition: paraTagDef.h:56
static const int TagAny
Definition: paraTagDef.h:44
static const int TAG_UG_BASE_LAST
Definition: paraTagDef.h:65
static const int TAG_TH_LAST
Definition: paraTagDef.h:84
static const int TagRampUp
Definition: paraTagDef.h:50
static const int TagSolverState
Definition: paraTagDef.h:53
static const int TagHardTimeLimit
Definition: paraTagDef.h:61
static const int N_UG_BASE_TAGS
Definition: paraTagDef.h:66
static const int TagDiffSubproblem
Definition: paraTagDef.h:49
static const int TagTask
Definition: paraTagDef.h:47
static const int TagRacingRampUpParamSet
Definition: paraTagDef.h:59
static const int TagParaInstance
Definition: paraTagDef.h:82
static const int TAG_MPI_FIRST
Definition: paraTagDef.h:69