Mentions légales du service

Skip to content
Snippets Groups Projects
  • Alexander Kruppa's avatar
    26b17702
    Allow mmap-ing s data · 26b17702
    Alexander Kruppa authored
    Adds a new configure option: --enable-mmap
    and, if mmap is enabled, two new command line options: -bsavems, -bloadms
    
    The rationale is that when multiple ecm processes run on the same machine,
    all doing ECM with batch stage 1 and the same B1, they all have their own
    batch product s in memory which contains the same data for all processes.
    As the batch product can become quite large with large B1, this may cause the
    machine to run out of memory with many cores. By using a file-backed mmap
    instead, the operating system can use shared memory between all processes.
    
    The file format for the s save files has changed. It has a header now, with
    magic number, endianness, B1 value and a checksum. The file format is
    different between mmap-ed and non-mmap-ed data; the mmap-ed one uses the
    host's endianness for mp_limb_t (as the disk file is just a memory image)
    while the non-mmap-ed one uses mpz_out_raw() (as before) which always
    writes in big-endian.
    26b17702
    History
    Allow mmap-ing s data
    Alexander Kruppa authored
    Adds a new configure option: --enable-mmap
    and, if mmap is enabled, two new command line options: -bsavems, -bloadms
    
    The rationale is that when multiple ecm processes run on the same machine,
    all doing ECM with batch stage 1 and the same B1, they all have their own
    batch product s in memory which contains the same data for all processes.
    As the batch product can become quite large with large B1, this may cause the
    machine to run out of memory with many cores. By using a file-backed mmap
    instead, the operating system can use shared memory between all processes.
    
    The file format for the s save files has changed. It has a header now, with
    magic number, endianness, B1 value and a checksum. The file format is
    different between mmap-ed and non-mmap-ed data; the mmap-ed one uses the
    host's endianness for mp_limb_t (as the disk file is just a memory image)
    while the non-mmap-ed one uses mpz_out_raw() (as before) which always
    writes in big-endian.