Poplar and PopLibs
TileConstants.hpp
1// Copyright (c) 2021 Graphcore Ltd. All rights reserved.
2
3#ifndef _poplar_TileConstants_hpp_
4#define _poplar_TileConstants_hpp_
5
6#ifdef __IPU__
7#include "arch/gc_tile_defines.h"
8#else
9#define CTXT_WORKERS (6)
10#endif
11// TODO: T35884 Export these constants so they are included in gc_tile_defines.h
12
13#define CONV_UNIT_INPUT_LOAD_ELEMS_FLOAT (2)
14#define CONV_UNIT_INPUT_LOAD_ELEMS_HALF (4)
15#define CONV_UNIT_INPUT_LOAD_ELEMS_QUARTER (8)
16
17#define TMEM_ELEMSIZE (0x4000)
18
19#define TMEM_BYTE_MAX_ADDRESS_WIDTH (21)
20
21#define CSR_W_WSR__INDEX (1)
22
23#define CSR_UPPER_MASK (0xff)
24#define CSR_W_FP_CTL__INDEX (258)
25
26#define CSR_W_FP_NFMT__INDEX (265)
27#define CSR_W_FP_SCL__INDEX (266)
28
29#define CSR_S_FP_INFMT__INDEX (49)
30#define CSR_S_FP_ISCL__INDEX (51)
31
32#define CSR_S_CCCSLOAD__INDEX (80)
33
34#define NUM_STRIDE_BITS (10)
35#define NUM_STRIDE_BITS_MASK ((1 << NUM_STRIDE_BITS) - 1)
36
37#endif // _poplar_TileConstants_hpp_