View Single Post
Old 2019-07-15, 15:52   #2
kriesel's Avatar
Mar 2017
US midwest

2·3·1,229 Posts
Default new participant guidance


The Mersenne forum content is almost all expressed in English (a blend of UK and American). For those whose native language is not English, we native English speakers very much appreciate your efforts to communicate in English! covers many different ways of aiding the Great Internet Mersenne Prime Search (GIMPS) progress, through trial factoring, P-1 factoring, Lucas-Lehmer testing, probable-prime testing, double checking, proof certification etc. of Mersenne numbers, 2p-1. (You may see these abbreviated as TF, P-1, LL, PRP or PRP3, DC, LL DC, PRP DC, Cert.)
It also provides a home for a lot of threads about related number types that have no direct connection to finding Mersenne prime numbers, such as Proth numbers, or Cunningham numbers, or activities or programs that have little or no direct connection, such as factoring for general natural numbers as an end in itself.

Most of this description is GIMPS oriented.

There are many different operating systems, and processor types, in common use or development. Most activity is on Windows or Linux, on Intel or AMD processors, or NVIDIA or AMD GPUs, but there is a little Mac activity, and Linux on smaller hardware including Raspberry Pi, Odroid C2, Samsung cell phones, and Intel compute sticks, as well as trial factoring via Mfakto on some models of Intel or AMD integrated graphics processors, and in rare cases gpuowl on IGPs.

Most of the hardware is personally owned or employer owned. (Getting written permission for use of employer-owned gear from an authorized person is very highly recommended. It has happened that someone got permission from the wrong person, and got personally acquainted with how the FBI executes a search warrant, seizing and holding for years, all computer equipment including that of a client of the person being investigated.) Others use cloud computing. Or a combination.

If you have newly signed up to the project, it may take the busy volunteers running things a while to get to approving you for making manual submissions to the PrimeNet server. Please be patient, but if you do not get set up for days, contact them.

When joining the forum:
Some go to considerable length to use an alias and remain essentially anonymous. Others see no reason to do that, and see drawbacks to it. Nearly all the prominent software coders are identified. Use good judgment on what personally identifying information you do and do not disclose.

The forum offers reading and making public posts, optionally including up to 5 attachments of certain specified types and size limits, and sending and receiving private messages (PM) without attachments. There's also a search capability by multiple keywords. Please limit PM sent to the leading software coders. They are volunteers and there is always more to code and test. They are rare and their time valuable.

When posting on the forum:
Take some time to read the existing threads, FAQs, reference information, the Netiquette post, etc., before posting.
Some suggested material is at
Intro to GIMPS and prime95 math (omits PRP etc)
Note: whenever practical, use PRP/GEC/proof generation, NOT LL for first tests.
PRP/GEC/proof generation is also superior in speed and reliability for double-checks.

Do not post to any forum thread:
64-bit residues ("res64") for first tests prior to verification
assignment IDs that are currently valid (active), intended to be shared secrets between you, your GIMPS client software, any proxy software, and the PrimeNet server (and perhaps its administrators) only
MD5 hashes
links to porn sites, malware sites, etc., or links with tracking info included
inflammatory material
Mersenne prime discovery before the official Mersenne Research Inc press release is issued (early disclosure would disqualify you for any prize money)

Available software (cpu and gpu summary) listing is found at (and its historical thread
reference material compilation (large!)
cloud computing subforum
prime95 v30.8 for CPUs
prime95 v30.7 for CPUs
GPU Trial Factoring FAQ (old)
GPU LL testing FAQ (old)

(And again, do PRP/GEC/proof whenever practical for first tests, NOT LL! GPUs that can't run a recent version of gpuowl should only do LL DC, or TF. They're probably too old to be reliable enough for P-1 without much error checking implemented, as in CUDAPM1 which has very little checking built in. They're probably too old to be energy efficient, and are candidates for retirement)

Some of the threads are very long. Some show the history of development of certain applications. It can be useful to take notes as you go through those threads, including URL's for easy return to the more informative or seminal posts.
Some content may not mean much to you when first encountered, but will later, after enough is learned, for its importance to be apparent, or its content to be better understood. It can be useful to read again or skim the same thread six months or a year later.

The forum is not the place for submitting unremarkable results of GIMPS computations.
To apply your GPU to needed work, and improve your chances of avoiding unneeded duplication of someone else's work, go to or to reserve work assignments.
To report the results, copy and paste into
Or make use of a relevant client management package. See and note that some applications have a separate work reservation and/or result submission script.

It's standard for PrimeNet to assign some double-check (DC) work to a new computer. This is to qualify it as reliable, and helps with the backlog of double-checks, which is currently several years long. It's also a good idea to run a qualifying double check on anything you manage manually or via one of the client management tools. If the DC matches, great, that justifies confidence in the system. But if the DC does not match, it might not be a problem with your hardware, but with the other system that did the first test. What's needed is a tie-breaker triple check (TC) to determine if either is correct. These can be requested at

Be courteous; avoid sounding hostile or rude. People do get temporarily banned if going too far. A long pattern can get long bans. Occasionally, permanent bans. It's generally preferable to apply some principles from Dale Carnegie's book "How to Win Friends and Influence People." If someone goes way over the line, the offensive post can be reported by clicking on the little red and white triangle at the lower left of the post.

Above all, avoid profanity, bullying, threats or harassment or the appearance of such. A "smily" attached does not mean there are no limits on what will get you blocked, banned, or into legal trouble.

Realize that there's a real person at the other end. Realize that text without mannerisms such as smiles as in person comes across as more negative. When posting, be generous and make an effort to keep tone positive. Effective communication is more likely when no one is annoyed, offended, insulted, disparaged, or feels those whether it was intended or not. Conversely, when reading, realize perceived offense may be unintended. Its appearance may be due in part to cultural or language differences, hurry, frustration, history, various maladies, etc.

Remember that this is a worldwide community, including people from many nations, cultures, age brackets, occupations, educations, perspectives etc. Anyone from about age 13, to published number theory professors or world-class programmers/software engineers, to retired & senior citizens.

Use an existing topic-specific thread when practical.

Use the existing already-posted answers when possible.

If English is not your native language, tell us. Responses will be more tolerant if so.

Understand that people get tired of answering the same questions asked year after year from people who don't bother to read program documentation or reference posts or previous answers or use the search function first. Making an effort to find an answer yourself first helps, especially if you tell us that you did.

Proofread your draft of a post. Preview before submit. After submitting it, you'll have a limited time to edit it (about an hour currently). For complex posts, an ordinary editor may be more useful; copy/paste from a draft in the forum page's editing window, to the separate editor, and back again. Use the quote and code and other tags to organize and format the post. Learn this from examining others' usage in posts that you quote.

Make an effort to provide an easily read complete set of the needed context information in the same post with a question or bug report. If you're asking why something is not working how you expect, tell us at the beginning what software you're asking about, what version of the software, what OS you're running it on, what OS version or flavor, what hardware, what computation type (for mprime / prime95, Gpuowl, Mlucas or any other software that can perform more than one computation type), stage if relevant, exponent, bounds or bit levels as applicable, non-default tuning, any parameters it seems to be having difficulties with, and any other pertinent information. If asking about Linux, what version of what distribution. In the case of a GPU related question, include the GPU model, driver name and version, and perhaps hardware specs that are relevant (GPU ram for example, or NVIDIA compute capability level). A little time spent once, providing that info in a convenient format, can save many readers and the original poster a little time each, and reduce the need for Q&A that sometimes follows when such information is missing, or hidden away somewhat in a long code box line. It's especially important to be considerate of the time of the rare few very talented volunteer programmers.

If posting benchmark information, specify not only time per exponent or iteration or whatever, but the exponent, computation type, details such as the TF bit level or P-1/P+1/ECM bounds, FFT length if applicable, non-default tuning parameters, the hardware, the OS, etc. so that it is meaningful. An under-specified benchmark result is not useful; a fully specified one is useful.

If posting code, please indicate in a comment at the top of the code, what language the code is. There are so many programming or scripting languages, that it is very unlikely all readers will recognize any language you might use unless perhaps it is an exceedingly common one. It would also be helpful if you post what version of the language it's known to work in, or versions of popular compiler it works with. Depending on the code, it might also be useful to know operating system or hardware requirements.

There are thousands of users and thousands of threads. Don't expect us to remember what hardware you own, what OS and version you run, etc. We forget, or never saw that one time or ten you posted it elsewhere. Tell us again, when and where it is relevant. It's simple enough to make a little description file once, and then copy and paste it into your posts as needed. Do this when it's helpful, and not otherwise. (We don't need or want to see anyone naively bragging in their every post about how many cores are in the one overpriced medium performance system they bought instead of a more efficient system or GPU.)

Be especially rigorous and forthright if posting in math or number theory threads. Some participants may be very assertive regarding unclarity or error or what appears to be ignorance of the prior art, getting terms switched, proposing "improvements" that reduce reliability or lengthen run times, etc. A lot of very skilled people have worked the area for a long time. Extraordinary claims require extraordinary evidence, and will be met with considerable skepticism and lots of questions. It's not personal. It may help to consider questions as demonstration of a desire to understand your position, and feedback as interest in helping you.

Minimize the use of idioms. They're less likely to be understood well by people whose native language is not English. An idiom example is "a piece of cake." The non-idiom equivalent is "very easy."
Avoid the use of "gratuitously obscure lingo". If in your best judgment use of the obscure term would help make a post substantially more concise, or is a term the learning of which would benefit numerous participants, include a parenthetical definition or a link or both at the term's first use in the post.

Clear writing, with good spelling, punctuation, grammar, and structure, is always appreciated. The care in writing is paid once. The benefit is lasting. It is considerate of the other forum participants to post clean content.

It's considered impolite to ask another member how much computing gear or throughput they have access to. Even if the reason you ask is to understand their perspective. Or to brag about how many cores and GPUs you have control of. Let your work speak for itself. Specifying what hardware produces a puzzling result or a fast benchmark is fine. People are happy to have (well-specified) benchmark results posted for the newest GPU or CPU models. It may help with someone else's purchasing decisions.

Please read and for guidance what to do or how to do it, and perhaps for what not to do or how not to do it. Other parts of the Other Stuff/Forum Feedback subforum may also be useful.

Do not post assignment IDs for current assignments, or 64-bit residues for results not yet verified, or MD5 hashes for proof files.

Refrain from trolling or activity that will likely be interpreted as such. "a person who posts inflammatory, insincere, digressive,[1] extraneous, or off-topic messages in an online community (such as social media (Twitter, Facebook, Instagram, etc.), a newsgroup, forum, chat room, or blog), with the intent of provoking readers into displaying emotional responses,[2] or manipulating others' perception." Such behavior may earn a spot on individual forum users' "ignore list" (how-to-add here), or other pushback, or progressive discipline from forum moderators, consisting of reprimands, warnings, loss of blogger or moderator status, temporary ban from posting on the forum, permanent ban from the forum, or perhaps other measures.

User names display in a few different colors next to their posts. As I understand it, blue is ordinary user; green is blogger (moderator privileges in his own blog and a select few other areas of the forum); red is super moderator; purple is banned user (may be temporary, "permanent", or really permanent ban); Xyzzy the forum owner displays blue. Here's another description.

The different subforums and threads have differing purposes. Some are rather more informal and for entertainment or humor. Others are seriously oriented to a single specific purpose, such as development or support of one GPU application.
Values in the more serious ones include:

Please consider how you may contribute positively, other than in computing throughput, toward the project's goals. Do you have skills in programming, in a flavor of C/C++/C#, Python, CUDA, OpenCL, multithreading, assembler, profiling, web scripting, databases, etc? Technical writing? Software testing? Math or number theory specifically? Other ways to help? See also and the many other online tutorials to help develop such skills.

(note, an earlier version of this was available at for comment since April 17 2019)

Top of reference tree:

Last fiddled with by kriesel on 2022-03-19 at 13:22 Reason: added caution on obscure terms
kriesel is offline