yebisu/gpu.h
2019-08-25 16:12:39 +08:00

80 lines
No EOL
2.1 KiB
C

//#define GPUTYPE 8800 // MP=16
//#define NJBL_value 32
//#define GPUTYPE C1060 // MP=30
//#define NJBL_value 30
//#define GPUTYPE M2070 // MP=14
//#define NJBL_value 28
//#define GPUTYPE GF460 // MP=7
//#define NJBL_value 14
//#define GPUTYPE GF470 // MP=14
//#define NJBL_value 28
//#define GPUTYPE GF480 // MP=15
//#define NJBL_value 30
//#define GPUTYPE GF570 // MP=15
//#define NJBL_value 30
#define GPUTYPE K20m // MP=13
#define NJBL_value 26
//#define GPUTYPE GF660 // MP=5
//#define NJBL_value 10
//#define GPUTYPE GF780 // MP=15
//#define NJBL_value 30
//#define GPUTYPE GF1080 // MP=20
//#define NJBL_value 20
//#define GPUTYPE GFTITANX // MP=24
//#define NJBL_value 24
// NJBLOCKS = 1 or 2 x MP
// NXREDUCE is a power of 2 and >= NJBLOCKS ~32 is good for all
// NYREDUCE is a power of 2 < NXREDUCE ~4 is good for all
enum{
SM_VER = 35,
NTHREADS = 128,
NTHSCAT = 64,
NIBLOCKS = 16,
NJPSHRE = 32,
NIMAX = (NTHREADS * NIBLOCKS),
NJBLOCKS = NJBL_value,
NXREDUCE = 32,
NYREDUCE = 4,
};
/*
----------------------------------------------------------------------------
type MP x Cores x GPU clock rate SP Gflop/s DP Gflop/s
per MP (GHz) (nbody n=200k) (nbody n=200k)
8800 GT 14 x 8 x 1.62 = 181.44 -
8800 512 16 x 8 x 1.80 = 230.40 298.266 -
9800 GTX 16 x 8 x 1.85 = 236.80 331.754 -
250 GTS 16 x 8 x 1.73 = 221.44
C1060 30 x 8 x 1.30 = 312.00 450.861 55.412
M2070 14 x 32 x 1.15 = 515.20 546.416 250.454
460 v2 7 x 48 x 1.56 = 524.16 421.335 67.939
470 14 x 32 x 1.22 = 546.56 578.572 105.796
480 15 x 32 x 1.40 = 672.00 705.514 145.502
570 15 x 32 x 1.46 = 700.80 736.882 151.960
670 7 x 192 x 0.71 = 954.24 1151.030 100.092
680 8 x 192 x 0.71 = 1090.56 1187.710 101.211
K20m 13 x 192 x 0.71 = 1772.16 1322.374 576.523
TITAN 14 x 192 x 0.88 = 2365.44 2026.287 751.671
780 Ti 15 x 192 x 0.93 = 2678.40 2691.603 198.987
----------------------------------------------------------------------------
*/