#include <functional>
#include <iterator>
#include <cfloat>
#include <typeinfo>
#include <vector>
#include <list>
#include <map>
#include <algorithm>
#include <cassert>
#include <memory>
#include <cmath>
#include <cstdio>
#include <cstdlib>
Go to the source code of this file.
|
struct | mgpu::sIsPow2< X > |
|
struct | mgpu::sLogPow2< X, roundUp > |
|
struct | mgpu::sLogPow2< 0, roundUp > |
|
struct | mgpu::sLogPow2< 1, roundUp > |
|
struct | mgpu::sDivUp< X, Y > |
|
struct | mgpu::sDiv2RoundUp< count, levels > |
|
struct | mgpu::sDiv2RoundUp< count, 0 > |
|
struct | mgpu::sDivSafe< X, Y > |
|
struct | mgpu::sDivSafe< X, 0 > |
|
struct | mgpu::sRoundUp< X, Y > |
|
struct | mgpu::sRoundDown< X, Y > |
|
struct | mgpu::sIntegerDiv< X, Y > |
|
struct | mgpu::sMax< X, Y > |
|
struct | mgpu::sMin< X, Y > |
|
struct | mgpu::sAbs< X > |
|
struct | mgpu::sNumFactorsOf2< X, LSB > |
|
struct | mgpu::sNumFactorsOf2< X, 1 > |
|
struct | mgpu::sBankConflictDivisor< X, NumBanks > |
|
struct | mgpu::sConflictFreeStorage< NT, X, NumBanks > |
|
#define MGPU_ABS |
( |
|
x) | |
(((x) >= 0) ? (x) : (-x)) |
#define MGPU_DIV_ROUND |
( |
|
x, |
|
|
|
y |
|
) |
| (((x) + (y) / 2) / (y)) |
#define MGPU_DIV_UP |
( |
|
x, |
|
|
|
y |
|
) |
| (((x) + (y) - 1) / (y)) |
#define MGPU_IS_POW_2 |
( |
|
x) | |
(0 == ((x) & ((x) - 1))) |
#define MGPU_MAX |
( |
|
x, |
|
|
|
y |
|
) |
| (((x) >= (y)) ? (x) : (y)) |
#define MGPU_MAX0 |
( |
|
x) | |
(((x) >= 0) ? (x) : 0) |
#define MGPU_MIN |
( |
|
x, |
|
|
|
y |
|
) |
| (((x) <= (y)) ? (x) : (y)) |
#define MGPU_ROUND_DOWN_POW2 |
( |
|
x, |
|
|
|
y |
|
) |
| ((x) & ~((y) - 1)) |
#define MGPU_ROUND_UP |
( |
|
x, |
|
|
|
y |
|
) |
| ((y) * MGPU_DIV_UP(x, y)) |
#define MGPU_ROUND_UP_POW2 |
( |
|
x, |
|
|
|
y |
|
) |
| (((x) + (y) - 1) & ~((y) - 1)) |
#define MGPU_SHIFT_DIV_UP |
( |
|
x, |
|
|
|
y |
|
) |
| (((x) + ((1<< (y)) - 1))>> y) |