@@ -77,18 +77,15 @@ Some compile-time settings in the file src/params.h can be changed:
7777- the last part contains defines which should *not* be changed unless you
7878 fully understand them. It is possible to easily screw something up.
7979
80- Be aware that 32-bit applications are not supported in CUDA Toolkit 12.2 and
81- later . You will need to use an older CUDA Toolkit to build mfaktc for 32 bits.
82- See this thread for details:
80+ Be aware that mfaktc 0.24.0 and CUDA Toolkit 12.2 drop support for 32-bit
81+ builds . You will need to use the '0.23' branch and an older CUDA Toolkit to
82+ compile mfaktc for 32 bits. See this thread for details:
8383https://forums.developer.nvidia.com/t/whats-the-last-version-of-the-cuda-toolkit-to-support-32-bit-applications/323106/4
8484
8585In any case, a 64-bit build is preferred except on some old low-end GPUs.
8686Testing on an Intel Core i7 CPU has shown that the performance-critical CPU
8787code runs about 33% faster compared to 32 bits.
8888
89- Important note: mfaktc will no longer officially support 32-bit builds in
90- version 0.24 onwards.
91-
9289#############
9390# 2.1 Linux #
9491#############
@@ -258,6 +255,9 @@ A note on extending assignments:
258255
259256---
260257
258+ You must use mfaktc 0.24.0 or above starting in 2026 as the CRC32 checksums
259+ will be used to validate results.
260+
261261 Once you have your assignments, create an empty file called worktodo.txt
262262 and copy all the "Factor=..." lines into that file. Start mfaktc, sit back
263263 and let it do its job. Running mfaktc is also a great way to stress test
@@ -276,17 +276,16 @@ Submitting results:
276276
277277 Step 1) log in to the GIMPS website with your username and password
278278 Step 2) on the menu bar, select Manual Testing > Results
279- Step 3) upload the results.json.txt file produced by mfaktc. You may
280- archive or delete the file after it has been processed.
279+ Step 3) upload the results.json.txt file produced by mfaktc. Do not submit
280+ the results.txt file as it is no longer accepted by the PrimeNet
281+ server. You may archive or delete the results.json.txt file after
282+ it has been processed.
281283
282284 To prevent abuse, admin approval is required for manual submissions. You
283285 can request approval by contacting George Woltman at woltman@alum.mit.edu
284286 or posting on the GIMPS forum:
285287 https://mersenneforum.org/forumdisplay.php?f=38
286288
287- Important note: the results.txt file is deprecated and will no longer be
288- accepted from 2025 onwards.
289-
290289##################
291290# 5 Known issues #
292291##################
@@ -309,7 +308,7 @@ Submitting results:
309308 lower speed. Performance-wise, this is not recommended on GPUs which can
310309 handle more than 100 million candidates per second.
311310- the debug options CHECKS_MODBASECASE and USE_DEVICE_PRINTF might report 'qi'
312- values that are too high while using the Barrett kernels. They are caused by
311+ values that are too high while using the Barrett kernels; this is caused by
313312 factor candidates out of the specified range.
314313
315314
@@ -358,24 +357,23 @@ A: Yes. In most cases, this is required to make full use of a GPU when sieving
358357 You will need a separate directory for each mfaktc instance.
359358
360359Q: Are checkpoint files compatible between different mfaktc versions?
361- A: Save files are compatible between 32-bit and 64-bit executables. mfaktc can
362- also load a checkpoint from either a Linux or Windows version on either OS.
363- However, the executable and checkpoint file must have the same version
364- number. Complete any active assignments before you upgrade.
360+ A: Save files are compatible between different platforms and architectures. For
361+ example, the 32-bit Windows version can read a checkpoint from 64-bit Linux
362+ and vice versa.
363+
364+ However, mfaktc 0.23.x and below can only load checkpoints with the same
365+ version number as the executable. Complete any active assignments before you
366+ upgrade.
365367
366368Q: What do the version numbers mean?
367- A: Stable releases are usually named 0.x where "x" is incremented for each
368- release. Some versions include a patch such as a bug fix or other small
369- change. You can see in the change log that mfaktc 0.13p1 is one such
370- example. Such releases are intended for general use. Please note that patch
371- releases after 0.16p1 use the major.minor.patch naming scheme.
369+ A: mfaktc 0.23.0 and above use the semantic versioning scheme. You can learn
370+ more about semantic versioning here: https://semver.org
372371
373372 You may come across pre-release versions that are not publicly available.
374- Such versions usually *not* intended for productive usage; sometimes they
375- have the computational code disabled or don't even compile. Please don't use
376- them for production work as they have usually had minimal to zero QA and may
377- contain critical issues.
378-
373+ Such versions are *not* intended for general use; sometimes they have the
374+ computational code disabled or don't even compile. Please don't use them for
375+ production work as they have usually had minimal to zero QA and may contain
376+ critical issues.
379377
380378###########
381379# 8 .plan #
@@ -387,23 +385,24 @@ A: Stable releases are usually named 0.x where "x" is incremented for each
387385 - CRC32 checksums to reduce invalid results
388386 - improved performance on Pascal devices
389387 - metadata in checkpoint file names
390- - replace deprecated cudaThreadSynchronize() calls
388+ - replace deprecated cudaThreadSynchronize() with cudaDeviceSynchronize()
391389
392- not planned for a specific release yet, no particular order!
393- - performance improvements whenever I find them ;)
394- - change compiletime options to runtime options (if feasible and useful)
390+ ongoing improvements
391+ - performance improvements whenever they are found ;-)
392+ - fix bugs as they are discovered
393+ - change compile-time options to runtime options, if applicable
395394- documentation and comments in code
396- - try to use double precision for the long integer divisions <-- unsure
397- - json output for wagstaff numbers https://www.mersenneforum.org/showpost.php?p=662680&postcount=3769
395+ - try to use double precision for the long integer divisions
396+ - unsure, may or may not be useful
397+
398+ requested features; no particular order and not planned for a specific release
399+ - JSON output for Wagstaff numbers https://www.mersenneforum.org/showpost.php?p=662680&postcount=3769
398400- factors-meta.<factor>.timestamp https://www.mersenneforum.org/showpost.php?p=662603&postcount=3750
399401- factors-meta.<factor>.class https://www.mersenneforum.org/showpost.php?p=662720&postcount=3781
400402- found factors support https://www.mersenneforum.org/showpost.php?p=662682&postcount=3770
401- - os info https://www.mersenneforum.org/showpost.php?p=662648&postcount=3757
402- - security checksum https://www.mersenneforum.org/showpost.php?p=662658&postcount=3761
403- - detailed runtime logging https://www.mersenneforum.org/showpost.php?p=662953&postcount=3845
404403- begink and endk logging https://www.mersenneforum.org/showpost.php?p=662953&postcount=3845
405404- only log every n seconds https://www.mersenneforum.org/showpost.php?p=662795&postcount=3826
406405- catch HUP https://www.mersenneforum.org/showpost.php?p=662777&postcount=3815
407406- non-prime exponents https://www.mersenneforum.org/showpost.php?p=663442&postcount=3873
408407- TF10G support https://www.mersenneforum.org/showpost.php?p=663442&postcount=3873
409- - Remove CPU Sieving support https://www.mersenneforum.org/showpost.php?p=663517&postcount=3894
408+ - drop CPU sieving support https://www.mersenneforum.org/showpost.php?p=663517&postcount=3894
0 commit comments