mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   GPU Computing (https://www.mersenneforum.org/forumdisplay.php?f=92)
-   -   mfaktc: a CUDA program for Mersenne prefactoring (https://www.mersenneforum.org/showthread.php?t=12827)

James Heinrich 2013-04-24 23:48

[QUOTE=c10ck3r;338186]Okay, I have questions that have probably been asked time and time again: what is the minimum exponent that can be tested with mfaktc 0.20? What is the minimum bit depth? Maximum? Is there a maximum exponent testable by design, or just based on memory?
Thanks in advance![/QUOTE][quote]from: [url]http://mersennewiki.org/index.php/Mfaktc[/url]
Current limits[list][*]Prime exponents between 1,000,000 and 2[sup]32[/sup]-1[*]Factor sizes <2[sup]95[/sup] and k<2[sup]63.9[/sup][/list][/quote]Also:[list][*]GPU sieving is not available for < 2[sup]64[/sup] (the kernels that support such small factors are old (and notably slower than the more modern kernels available for "normal" GIMPS-range work) and haven't been rewritten to support GPU sieving)[/list]

Bdot 2013-07-01 20:03

Please see [URL]http://mersenneforum.org/showpost.php?p=344999&postcount=852[/URL]

I'm afraid this also applies to mfaktc, though I'm not sure if GPUSieveProcessSize=24 is commonly used here.

Oliver, can you check tf_common_gs.cu, the calculation of numblocks. I think the remainder of the division is lost.

NormanRKN 2013-07-01 20:06

on my little GT 640 I use GPUSieveProcessSize=8 ;)

TheJudger 2013-07-03 21:07

[QUOTE=Bdot;345001]Please see [URL]http://mersenneforum.org/showpost.php?p=344999&postcount=852[/URL]

I'm afraid this also applies to mfaktc, though I'm not sure if GPUSieveProcessSize=24 is commonly used here.

Oliver, can you check tf_common_gs.cu, the calculation of numblocks. I think the remainder of the division is lost.[/QUOTE]

I guess mfaktc is affected, too. (What about mmff?)
For now I recommend to set GPUSieveSize to a multiple of GPUSieveProcessSize. Keep in mind that GPUSieveProcessSize is in Kibibits (1024 Bits) and GPUSieveSize in Mebibits (1048576 bits), thus GPUSieveSize=5 [B][U]is[/U][/B] a multiple of GPUSieveProcessSize=16.
[B]The only problematic setting is GPUSieveProcessSize=24 and GPUSieveSize not a multiple of 3[/B]. For all other valid settings of GPUSieveProcessSize (8, 16, 32) it doesn't matter which value you choose for GPUSieveSize because it will allways be a multiple of GPUSieveProcessSize.

Bertram: how do we fix this? The easy way by checking GPUSieveProcessSize and GPUSieveSize when the parameter file is read and autoadjust GPUSieveSize?

Oliver

Bdot 2013-07-03 22:49

[QUOTE=TheJudger;345194]
Bertram: how do we fix this? The easy way by checking GPUSieveProcessSize and GPUSieveSize when the parameter file is read and autoadjust GPUSieveSize?

Oliver[/QUOTE]
Yes, that's what I would prefer. I've sent you an email with my fix.

Other options include:
[LIST][*]run one more block that is only partially filled
(disadvantage: for every sieve block would would run a few thousand "useless" TF threads)[*]not advancing k_min at the end of the loop by mystuff->gpu_sieve_size * NUM_CLASSES, but by mystuff->gpu_sieve_processing_size * numblocks
(disadvantage: every sieve block would have an overlap with the previous one, and sieve a few thousand FCs again.)[*]I don't see a disadvantage in adjusting GPUSieveSize (except that it now may not be a nice power of two :smile:)[/LIST](above disadvantages apply only if GPUSieveProcessSize=24 && GPUSieveSize%3 > 0)

Edit: I also posted a note to the mmff thread now.

Mark Rose 2013-09-26 21:26

[QUOTE=Xyzzy;325305]FWIW, we played around with the values to find the most productive combo, and for both of our cards that combo was "GPUSieveSize=128" and "GPUSieveProcessSize=8".

YMMV[/QUOTE]

Me too, on a GT 430, and a GTX 760.

The GTX 760 went from 229 GHz/days/day to 249 GHz/days/day!

flashjh 2013-09-27 12:54

What is your GPUSievePrimes set to? I get best results with (GTX 580):

GPUSievePrimes=70000
GPUSieveSize=128
GPUSieveProcessSize=16

Mark Rose 2013-09-27 13:44

[QUOTE=flashjh;354357]What is your GPUSievePrimes set to? I get best results with (GTX 580):

GPUSievePrimes=70000
GPUSieveSize=128
GPUSieveProcessSize=16[/QUOTE]

GPUSievePrimes=82486

I haven't changed it from the default yet.

flashjh 2013-09-27 14:11

[QUOTE=Mark Rose;354365]GPUSievePrimes=82486

I haven't changed it from the default yet.[/QUOTE]
I get better output with 70K.

kladner 2013-09-27 14:32

[QUOTE=flashjh;354367]I get better output with 70K.[/QUOTE]

Really! Which chip(s)? Any or all?

EDIT:
Boosted the 570 15-18 GHz-d/d at restart. Trailed off to 5-7 GHz-d/d.

Not very noticeable with the 580. Harder to say, as that one drives the display. It fluctuates more.

flashjh 2013-09-27 14:37

I can only speak for GTX 580 but it's not too hard to make changes to the number and see what you get.


All times are UTC. The time now is 23:15.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.