#include "utils.H"
Go to the source code of this file.
Classes | |
class | StaticFactorbaseSettings |
Defines | |
#define | TSIEVEELEMENTSIZE 1 |
Variables | |
const int | server_port = 12364 |
const int | XML_status_port = 12370 |
const char *const | QsieveLogon = "Qsieve3-Logon" |
const int | SingleLargePrime_Threshold = 1000000000 |
const int | DynamicFactor_SievingThreshold = MIN(SingleLargePrime_Threshold,100000000) |
const int | PhysicalSieveSize = 64*1024 |
size of sieve interval in cacheable memory for fast access |
Definition in file qsieve-fwd.H.
#define TSIEVEELEMENTSIZE 1 |
Definition at line 30 of file qsieve-fwd.H.
const int DynamicFactor_SievingThreshold = MIN(SingleLargePrime_Threshold,100000000) |
const int PhysicalSieveSize = 64*1024 |
size of sieve interval in cacheable memory for fast access
The logical sieve interval is sieved in separate smaller parts, because memory access in cache can be up to 200 times faster than uncached memory access (cost of a cachemiss). The value of PhysicalSieveSize
is ideally the amount of memory that fits into processor cache while not replacing too much other cacheable data.
The relations are sieved in logical intervals [-M,M] using a loop of physical intervals of PhysicalSieveSize. PhysicalSieveSize must be set at compile time and is constant.
If cache effects wouldn't matter, then a greater value of PhysicalSieveSize would be better than a smaller one. But cache effects do matter! A cache miss can cost between 10 and 200 instruction cycles!
Smaller sieve sizes increase computational overhead, but they also increase cache efficiency.
However, you should use a multiple of 1024 to be on the safe side. If optimized assembler code comes into play, this constraint MUST be met!
Definition at line 60 of file qsieve-fwd.H.
Referenced by StaticFactorbase::compute_StaticFactorbase(), do_sieving_DynamicFactors(), do_sieving_Squares(), main(), and tune_parameters().
const char* const QsieveLogon = "Qsieve3-Logon" |
Definition at line 17 of file qsieve-fwd.H.
Referenced by main(), Cprocess_clients::process_data_stream(), and Cprocess_clients::process_data_stream_ecm().
const int server_port = 12364 |
Definition at line 11 of file qsieve-fwd.H.
const int SingleLargePrime_Threshold = 1000000000 |
Definition at line 20 of file qsieve-fwd.H.
Referenced by CmpqsPolynom::compute_first_polynomial(), CmpqsFactor::DLP_get(), CmpqsFactor::DLP_get_using_pollard_rho(), and main().
const int XML_status_port = 12370 |
Definition at line 14 of file qsieve-fwd.H.
Referenced by CXML_StatusServer::THREAD_XML_StatusServer().