LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
register_layer_with_cereal.hpp File Reference
#include <lbann/macros/common_cereal_registration.hpp>
#include <cereal/types/polymorphic.hpp>
#include "instantiate_device.hpp"
Include dependency graph for register_layer_with_cereal.hpp:

Go to the source code of this file.

Macros

#define LBANN_COMMA   ,
 
#define LBANN_REGISTER_LAYER_WITH_CEREAL_BASE(NAME, TYPE, LAYOUT, DEVICE)
 
#define LBANN_REGISTER_LAYER_WITH_CEREAL(NAME, TYPE, DEVICE)
 
#define PROTO_DEVICE(T, D)   LBANN_REGISTER_LAYER_WITH_CEREAL(LBANN_LAYER_NAME, T, D)
 

Detailed Description

Define LBANN_LAYER_NAME to be the full layer class name before including this file. Don't include this file inside the lbann namespace.

Definition in file register_layer_with_cereal.hpp.

Macro Definition Documentation

◆ LBANN_COMMA

#define LBANN_COMMA   ,

Definition at line 44 of file register_layer_with_cereal.hpp.

◆ LBANN_REGISTER_LAYER_WITH_CEREAL

#define LBANN_REGISTER_LAYER_WITH_CEREAL (   NAME,
  TYPE,
  DEVICE 
)
Value:
LBANN_REGISTER_LAYER_WITH_CEREAL_BASE(NAME, TYPE, DATA_PARALLEL, DEVICE); \
LBANN_REGISTER_LAYER_WITH_CEREAL_BASE(NAME, TYPE, MODEL_PARALLEL, DEVICE)
#define LBANN_REGISTER_LAYER_WITH_CEREAL_BASE(NAME, TYPE, LAYOUT, DEVICE)

Definition at line 54 of file register_layer_with_cereal.hpp.

◆ LBANN_REGISTER_LAYER_WITH_CEREAL_BASE

#define LBANN_REGISTER_LAYER_WITH_CEREAL_BASE (   NAME,
  TYPE,
  LAYOUT,
  DEVICE 
)
Value:
::lbann::NAME<TYPE, ::lbann::data_layout::LAYOUT, DEVICE>); \
CEREAL_REGISTER_TYPE_WITH_NAME( \
::lbann::NAME< \
TYPE LBANN_COMMA ::lbann::data_layout::LAYOUT LBANN_COMMA DEVICE>, \
#NAME "(" #TYPE "," #LAYOUT "," #DEVICE ")")
#define LBANN_COMMA
LBANN_ADD_ALL_SERIALIZE_ETI(::lbann::LBANN_CLASS_NAME)

Definition at line 46 of file register_layer_with_cereal.hpp.

◆ PROTO_DEVICE

#define PROTO_DEVICE (   T,
 
)    LBANN_REGISTER_LAYER_WITH_CEREAL(LBANN_LAYER_NAME, T, D)

Definition at line 58 of file register_layer_with_cereal.hpp.