Intel® Machine Learning Scaling Library  2018
A library providing an efficient implementation of communication patterns used in deep learning.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Namespaces | Macros | Typedefs | Enumerations
mlsl.hpp File Reference

Public external interface to Intel® Machine Learning Scaling Library (Intel® MLSL) More...

#include <cstddef>

Go to the source code of this file.

Classes

struct  MLSL::QuantParams
 A struct to hold quantization parameters. More...
 
class  MLSL::CommBlockInfo
 A class to hold block information for activations packing/unpacking. More...
 
class  MLSL::Activation
 A wrapper class for operation input and output activations. More...
 
class  MLSL::ParameterSet
 A wrapper class for operation parameters. More...
 
class  MLSL::Distribution
 A class to hold information about the parallelism scheme being used. More...
 
class  MLSL::OperationRegInfo
 A class to hold Operation registration information. More...
 
class  MLSL::Operation
 A class to hold information about learnable parameters (parameter sets) and activations corresponding to a certain operation of the computational graph. More...
 
class  MLSL::Statistics
 A class to measure and store performance statistics of communication among processes that perform computation in the computational graph. More...
 
class  MLSL::Session
 A class to represent a collection of Operation objects with the same global mini-batch size. More...
 
class  MLSL::Environment
 A singleton object that holds global Intel MLSL functions. More...
 

Namespaces

 MLSL
 The namespace containing all Intel MLSL classes and types.
 

Macros

#define MLSL_MAJOR_VERSION   1
 
#define MLSL_MINOR_VERSION   0
 
#define MLSL_VERSION(major, minor)   ((major << 16) | (minor))
 
#define MLSL_MAJOR(version)   (version >> 16)
 
#define MLSL_MINOR(version)   (version & 0xFFFF)
 
#define MLSL_VERSION_GE(v1, v2)
 
#define MLSL_VERSION_LT(v1, v2)
 
#define NO_EXPLICIT_CREATION(ClassName)
 

Typedefs

typedef int MLSL::CommReq
 

Enumerations

enum  MLSL::DataType { MLSL::DT_FLOAT = 0, MLSL::DT_DOUBLE = 1, MLSL::DT_BYTE = 2 }
 
enum  MLSL::PhaseType { MLSL::PT_TRAIN = 0, MLSL::PT_TEST = 1 }
 
enum  MLSL::GroupType { MLSL::GT_DATA = 0, MLSL::GT_MODEL = 1, MLSL::GT_GLOBAL = 2 }
 Groups of processes supported by Intel MLSL. More...
 
enum  MLSL::ReductionType { MLSL::RT_SUM = 0, MLSL::RT_MIN = 1, MLSL::RT_MAX = 2 }
 
enum  MLSL::OpType {
  MLSL::OT_CC = 0, MLSL::OT_BIAS = 1, MLSL::OT_ACT = 2, MLSL::OT_POOL = 3,
  MLSL::OT_SPLIT = 4, MLSL::OT_CONCAT = 5, MLSL::OT_BCAST = 6, MLSL::OT_REDUCE = 7,
  MLSL::OT_DATA = 8, MLSL::OT_EVAL = 9
}
 Compute operation types. More...
 
enum  MLSL::CompressionType { MLSL::CT_NONE = 0, MLSL::CT_QUANTIZATION = 1 }
 

Detailed Description

Public external interface to Intel® Machine Learning Scaling Library (Intel® MLSL)

Macro Definition Documentation

#define MLSL_MAJOR (   version)    (version >> 16)

A macro to retrieve the major API version from the full API version.

Parameters
versionfull API version
#define MLSL_MAJOR_VERSION   1

Intel MLSL API major version.

#define MLSL_MINOR (   version)    (version & 0xFFFF)

A macro to retrieve the minor version from the full version.

Parameters
versionfull API version
#define MLSL_MINOR_VERSION   0

Intel MLSL API minor version.

#define MLSL_VERSION (   major,
  minor 
)    ((major << 16) | (minor))

A macro to create a full API version from the major and minor API versions.

Parameters
majormajor API version
minorminor API version
#define MLSL_VERSION_GE (   v1,
  v2 
)
Value:
((MLSL_MAJOR(v1) > MLSL_MAJOR(v2)) || \
(MLSL_MAJOR(v1) == MLSL_MAJOR(v2) && MLSL_MINOR(v1) == MLSL_MINOR(v2)) || \
(MLSL_MAJOR(v1) == MLSL_MAJOR(v2) && MLSL_MINOR(v1) > MLSL_MINOR(v2)))
#define MLSL_MINOR(version)
Definition: mlsl.hpp:35
#define MLSL_MAJOR(version)
Definition: mlsl.hpp:29

A macro to check the condition (v1 >= v2).

Parameters
v1the first full API version to compare
v2the second full API version to compare
#define MLSL_VERSION_LT (   v1,
  v2 
)
Value:
((MLSL_MAJOR(v1) < MLSL_MAJOR(v2)) || \
(MLSL_MAJOR(v1) == MLSL_MAJOR(v2) && MLSL_MINOR(v1) < MLSL_MINOR(v2)))
#define MLSL_MINOR(version)
Definition: mlsl.hpp:35
#define MLSL_MAJOR(version)
Definition: mlsl.hpp:29

A macro to check the condition (v1 < v2).

Parameters
v1the first full API version to compare
v2the second full API version to compare
#define NO_EXPLICIT_CREATION (   ClassName)
Value:
protected: \
ClassName() {} \
~ClassName() {} \
private: \
ClassName(const ClassName&); \
ClassName& operator=(const ClassName&); \

A macro to prevent explicit creation of a class instance by user.