Skip to content

Benchmark of fgemv for Givaro::Integer in the field of RNS on a multicore server

ZHG2017 edited this page May 29, 2019 · 11 revisions

Note p = (0 for sequential, 1 for <RNSModulus, grain>, 2 for <RNSModulus, threads>, 3 for ParSeqHelper::Compose<ParSeqHelper::Parallel<FFLAS::CuttingStrategy::RNSModulus, grain>, ParSeqHelper::Parallel<rec, StrategyParameter::TwoDAdaptive>>)

Benchmark using OpenMP

OMP_NUM_THREADS=1

100 bits

Time method m(dimension m of the matrix) k(dimension k of the matrix) i(number of repetitions) s(seed)
4.70943 0 4000 4000 3 1020440166
18.9155 0 8000 8000 3 1020440166

200 bits

Time method m(dimension m of the matrix) k(dimension k of the matrix) i(number of repetitions) s(seed)
8.492 0 4000 4000 3 1020440166
33.7214 0 8000 8000 3 1020440166

OMP_NUM_THREADS=32

4000x4000 and 100 bits

Time method m(dimension m of the matrix) k(dimension k of the matrix) i(number of repetitions) s(seed)
3.54186 1 4000 4000 3 1020440166
3.27615 2 4000 4000 3 1020440166
3.50192 3 4000 4000 3 1020440166

4000x4000 and 200 bits

Time method m(dimension m of the matrix) k(dimension k of the matrix) i(number of repetitions) s(seed)
10.4996 1 4000 4000 3 1020440166
10.1195 2 4000 4000 3 1020440166
8.70186 3 4000 4000 3 1020440166

8000x8000 and 100 bits

Time method m(dimension m of the matrix) k(dimension k of the matrix) i(number of repetitions) s(seed)
13.6897 1 4000 4000 3 1020440166
12.7661 2 4000 4000 3 1020440166
14.1094 3 4000 4000 3 1020440166

8000x8000 and 200 bits

Time method m(dimension m of the matrix) k(dimension k of the matrix) i(number of repetitions) s(seed)
35.8733 1 4000 4000 3 1020440166
37.1161 2 4000 4000 3 1020440166
35.3029 3 4000 4000 3 1020440166

Vary GrainSize from 1 to 16 for 4000x4000 and 100 bits with OMP_NUM_THREADS=32

Time method GrainSize m(dimension m of the matrix) k(dimension k of the matrix) i(number of repetitions) s(seed)
3.19765 1 1 4000 4000 3 1020440166
3.26177 1 2 4000 4000 3 1020440166
3.48182 1 4 4000 4000 3 1020440166
4.40066 1 8 4000 4000 3 1020440166
4.48131 1 16 4000 4000 3 1020440166
Time method GrainSize m(dimension m of the matrix) k(dimension k of the matrix) i(number of repetitions) s(seed)
3.23092 3 1 4000 4000 3 1020440166
3.30737 3 2 4000 4000 3 1020440166
3.482 3 4 4000 4000 3 1020440166
4.4899 3 8 4000 4000 3 1020440166
4.35347 3 16 4000 4000 3 1020440166