OpenMP startup code for benchmarking? -


i'm attempting benchmark speedup openmp aware code. i'm using crypto++ library, , rabin-williams signature class. class implements bernstein's tweaked roots, , has following code:

modulararithmetic modp(m_p), modq(m_q);  #pragma omp parallel sections {     #pragma omp section         m_pre_2_9p = modp.exponentiate(2, (9 * m_p - 11)/8);     #pragma omp section         m_pre_2_3q = modq.exponentiate(2, (3 * m_q - 5)/8);     #pragma omp section         m_pre_q_p = modp.exponentiate(m_q, m_p - 2); } 

from crypto++'s perspective, need following:

rwss<p1363_emsa2, sha256>::signer signer(...); signer.precompute();  // ready sign 

after perform precompute(), crypto++ ready go. can sign away.

i understand openmp has startup, , has things dynamic teams. tried reference previous benchmarking papers, performance evaluation of openmp benchmarks on intel's quad core processors, don't call out did. grepped sources epcc openmp micro-benchmark suite, not call omp_set_dynamic remove associated overhead.

what steps should perform openmp clean room-like state i'm measuring speedup of big integer/signing operations, , not spending time in openmp startup or shutdown code; or spending time growing or shrinking team? do openmp?


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -