src/Message/Tags.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 /***************************************************************************
00003  *
00004  * The IPPL Framework
00005  * 
00006  *
00007  * Visit http://people.web.psi.ch/adelmann/ for more details
00008  *
00009  ***************************************************************************/
00010 
00011 #ifndef TAGS_H
00012 #define TAGS_H
00013 
00014 /*
00015  * Tags.h - list of special tags used by each major component in the ippl
00016  *      library.  When a new general communication cycle (i.e. swapping
00017  *      boundaries) is added, a new item should be added to this list.
00018  * BH, 6/19/95
00019  *
00020  * Updated for beta, JVWR, 7/27/96
00021  */
00022 
00023 // special tag used to indicate the program should quit.  The values are
00024 // arbitrary, but non-zero.
00025 #define IPPL_ABORT_TAG            5    // program should abort()
00026 #define IPPL_EXIT_TAG             6    // program should exit()
00027 #define IPPL_RETRANSMIT_TAG       7    // node should resend a message
00028 #define IPPL_MSG_OK_TAG           8    // some messages were sent correctly
00029 
00030 
00031 // tags for reduction
00032 #define COMM_REDUCE_SEND_TAG    1000000
00033 #define COMM_REDUCE_RECV_TAG    1100000
00034 #define COMM_REDUCE_SCATTER_TAG 1200000
00035 #define COMM_REDUCE_CYCLE        100000
00036 
00037 
00038 // tag for applying parallel periodic boundary condition.
00039 
00040 #define BC_PARALLEL_PERIODIC_TAG 1500000
00041 #define BC_TAG_CYCLE              100000
00042 
00043 // Field<T,Dim> tags
00044 #define F_GUARD_CELLS_TAG       2000000 // Field::fillGuardCells()
00045 #define F_WRITE_TAG             2100000 // Field::write()
00046 #define F_READ_TAG              2200000 // Field::read()
00047 #define F_GEN_ASSIGN_TAG        2300000 // assign(BareField,BareField)
00048 #define F_REPARTITION_BCAST_TAG 2400000 // broadcast in FieldLayout::repartion.
00049 #define F_REDUCE_PERP_TAG       2500000 // reduction in binary load balance.
00050 #define F_GETSINGLE_TAG         2600000 // IndexedBareField::getsingle()
00051 #define F_REDUCE_TAG            2700000 // Reduction in minloc/maxloc
00052 #define F_LAYOUT_IO_TAG         2800000 // Reduction in minloc/maxloc
00053 #define F_TAG_CYCLE              100000
00054 
00055 // Tags for FieldView and FieldBlock
00056 #define FV_2D_TAG               3000000 // FieldView::update_2D_data()
00057 #define FV_3D_TAG               3100000 // FieldView::update_2D_data()
00058 #define FV_TAG_CYCLE             100000
00059 
00060 #define FB_WRITE_TAG            3200000 // FieldBlock::write()
00061 #define FB_READ_TAG             3300000 // FieldBlock::read()
00062 #define FB_TAG_CYCLE             100000
00063 
00064 #define FP_GATHER_TAG           3400000 // FieldPrint::print()
00065 #define FP_TAG_CYCLE             100000
00066 
00067 // Tags for DiskField
00068 #define DF_MAKE_HOST_MAP_TAG    3500000
00069 #define DF_FIND_RECV_NODES_TAG  3600000
00070 #define DF_QUERY_TAG            3700000
00071 #define DF_READ_TAG             3800000
00072 #define DF_OFFSET_TAG           3900000
00073 #define DF_READ_META_TAG        4000000
00074 #define DF_TAG_CYCLE             100000
00075 
00076 // Tags for VtkFieldDataSource and VtkParticleBaseDataSource
00077 #define DS_FIELD_TAG            4500000 // FieldDataSource::update()
00078 #define DS_PB_TAG               4600000 // ParticleBaseDataSource::update()
00079 #define DS_CYCLE                 100000
00080 
00081 // Special tags used by Particle classes for communication.
00082 #define P_WEIGHTED_LAYOUT_TAG   5000000
00083 #define P_WEIGHTED_RETURN_TAG   5100000
00084 #define P_WEIGHTED_TRANSFER_TAG 5200000
00085 #define P_SPATIAL_LAYOUT_TAG    5300000
00086 #define P_SPATIAL_RETURN_TAG    5400000
00087 #define P_SPATIAL_TRANSFER_TAG  5500000
00088 #define P_SPATIAL_GHOST_TAG     5600000
00089 #define P_SPATIAL_RANGE_TAG     5700000
00090 #define P_RESET_ID_TAG          5800000
00091 #define P_LAYOUT_CYCLE           100000
00092 
00093 // Tags for Ippl setup
00094 #define IPPL_MAKE_HOST_MAP_TAG    6000000
00095 #define IPPL_TAG_CYCLE             100000
00096 
00097 // Tags for Conejo load balancer
00098 #define F_CONEJO_BALANCER_TAG      7000000
00099 #define F_CB_BCAST_TAG             7100000
00100 #define F_CB_DOMAIN_TAG            7200000
00101 
00102 // Tags for VnodeMultiBalancer
00103 #define VNMB_PARTIAL_TAG           8000000
00104 #define VNMB_COMPLETE_TAG          8100000
00105 #define VNMB_TAG_CYCLE              100000
00106 
00107 // Tags for Ippl application codes
00108 #define IPPL_APP_TAG0    9000000
00109 #define IPPL_APP_TAG1    9100000
00110 #define IPPL_APP_TAG2    9200000
00111 #define IPPL_APP_TAG3    9300000
00112 #define IPPL_APP_TAG4    9400000
00113 #define IPPL_APP_TAG5    9500000
00114 #define IPPL_APP_TAG6    9600000
00115 #define IPPL_APP_TAG7    9700000
00116 #define IPPL_APP_TAG8    9800000
00117 #define IPPL_APP_TAG9    9900000
00118 #define IPPL_APP_CYCLE    100000
00119 
00120 #endif // TAGS_H
00121 
00122 /***************************************************************************
00123  * $RCSfile: Tags.h,v $   $Author: adelmann $
00124  * $Revision: 1.1.1.1 $   $Date: 2003/01/23 07:40:28 $
00125  * IPPL_VERSION_ID: $Id: Tags.h,v 1.1.1.1 2003/01/23 07:40:28 adelmann Exp $ 
00126  ***************************************************************************/

Generated on Mon Jan 16 13:23:52 2006 for IPPL by  doxygen 1.4.6