![]() |
![]() |
#485 |
Random Account
Aug 2009
Not U. + S.A.
24·173 Posts |
![]() |
![]() |
![]() |
![]() |
#486 |
"Ed Hall"
Dec 2009
Adirondack Mtns
3·7·263 Posts |
![]()
Does the GPU branch allow for multi-threading stage 2? I can't seem to find anything in the docs.
My Colab sessions only get two Xeon cores, but using both would "double" the throughput for stage 2. |
![]() |
![]() |
![]() |
#487 | ||
"6800 descendent"
Feb 2005
Colorado
5·149 Posts |
![]() Quote:
This is in the readme.gpu file: Quote:
|
||
![]() |
![]() |
![]() |
#488 | |
"Ed Hall"
Dec 2009
Adirondack Mtns
10101100100112 Posts |
![]() Quote:
I may have to explore ecm.py and see if there is a manner I can both run the GPU branch and fill the CPU for stage 2. . . |
|
![]() |
![]() |
![]() |
#489 | |
Sep 2009
2·3·409 Posts |
![]() Quote:
My latest script (not yet fully tested) is: Code:
#!/bin/bash # Script to run ecm on 2 or more cores against the number in $NAME.poly or $NAME.n aided by the gpu doing stage 1. # It's intended to be called from factMsieve.factordb.pl which searches the logs for factors. # The GPU can do stage 1 in about 1/2 the time the CPU takes to do stage 2 on one core. # It expects 5 parms, the filename prefix, log suffix, the B1 to resume, B1 for GPU to use and the number of cores to use. # The .ini file should have already been created by the caller #set -x NAME=$1 LEN=$2 OLDB1=$3 NEWB1=$4 CORES=$5 INI=$NAME.ini if [[ ! -f $INI ]]; then echo "Can't find .ini file"; exit;fi if [[ -z $LEN ]]; then echo "Can't tell what to call the log";exit;fi if [[ -z $OLDB1 ]]; then echo "Can't tell previous B1 to use";exit;fi if [[ -z $NEWB1 ]]; then echo "Can't tell what B1 to use";exit;fi if [[ -z $CORES ]]; then echo "Can't tell how many cores to use";exit;fi SAVE=$NAME.save if [[ ! -f $SAVE ]]; then echo "Can't find save file from last run"; exit;fi LOG=$NAME.ecm$LEN.log # First split the save file from the previous run and start running them, followed by standard ecm until the GPU has finished. # /home/chris/ecm-6.4.4/ecm was compiled with -enable-shellcmd to make it accept -idlecmd. date "+ %c ecm to $LEN digits starts now" >> $LOG rm save.* split -nr/$CORES $NAME.save save. rm $NAME.save for FILE in save.* do date "+ %c ecm stage 2 with B1=$OLDB1 starts now" >> $NAME.ecm$LEN.$FILE.log (nice -n 19 /home/chris/ecm-gpu/trunk/ecm -resume $FILE $OLDB1;nice -n 19 /home/chris/ecm-6.4.4/ecm -c 999 -idlecmd 'ps -ef | grep -q [-]save' -n $NEWB1 <$INI ) | tee -a $NAME.ecm$LEN.$FILE.log | grep actor & done # Now start running stage 1 on the gpu /home/chris/ecm.2741/trunk/ecm -gpu -save $NAME.save $NEWB1 1 <$INI | tee -a $LOG | grep actor date "+ %c ecm to $LEN digits stage 1 ended" >> $LOG wait # for previous ecm's to finish date "+ %c Finished" | tee -a $NAME.ecm$LEN.save.* >> $LOG grep -q 'Factor found' $LOG $NAME.ecm$LEN.save.* # Check if we found a factor exit $? # And pass RC back to caller Chris |
|
![]() |
![]() |
![]() |
#490 | |
"Ed Hall"
Dec 2009
Adirondack Mtns
552310 Posts |
![]() Quote:
|
|
![]() |
![]() |
![]() |
#491 |
Oct 2019
5·19 Posts |
![]()
Does anyone who has set up enough Windows development toolkits interests in compiling Windows binary of relatively new version(for example, 7.0.4-dev or 7.0.4 or 7.0.5-dev) GPU-ECM for CC2.0 card? It would be good to run it on old notebooks, thanks.
![]() |
![]() |
![]() |
![]() |
#492 |
"Ed Hall"
Dec 2009
Adirondack Mtns
3×7×263 Posts |
![]()
It was recently reported to me that my GMP-ECM-GPU branch instructions for a Colab session no longer work. In verifying the trouble, I too, received the following, during compilation:
Code:
configure: Using cuda.h from /usr/local/cuda-10.0/targets/x86_64-linux/include checking cuda.h usability... no checking cuda.h presence... yes configure: WARNING: cuda.h: present but cannot be compiled configure: WARNING: cuda.h: check for missing prerequisite headers? configure: WARNING: cuda.h: see the Autoconf documentation configure: WARNING: cuda.h: section "Present But Cannot Be Compiled" configure: WARNING: cuda.h: proceeding with the compiler's result configure: WARNING: ## ------------------------------------------------ ## configure: WARNING: ## Report this to ecm-discuss@lists.gforge.inria.fr ## configure: WARNING: ## ------------------------------------------------ ## checking for cuda.h... no configure: error: required header file missing Makefile:807: recipe for target 'config.status' failed make: *** [config.status] Error 1 Code:
In file included from conftest.c:127:0: /usr/local/cuda-10.0/targets/x86_64-linux/include/cuda.h:432:10: warning: ISO C99 doesn't support unnamed structs/unions [-Wpedantic] }; ^ /usr/local/cuda-10.0/targets/x86_64-linux/include/cuda.h:442:10: warning: ISO C99 doesn't support unnamed structs/unions [-Wpedantic] }; ^ configure:15232: $? = 0 configure: failed program was: | /* confdefs.h */ |
![]() |
![]() |
![]() |
#493 |
"Ed Hall"
Dec 2009
Adirondack Mtns
10101100100112 Posts |
![]()
On the off-chance I could solve this simply by adding a name to the unions referenced above, I tried:
Code:
union noname { Code:
| #include <cuda.h> configure:15308: result: no configure:15308: checking cuda.h presence configure:15308: x86_64-linux-gnu-gcc -E -I/usr/local/cuda-10.0/targets/x86_64-linux/include -I/usr/local//include -I/usr/local//include conftest.c configure:15308: $? = 0 configure:15308: result: yes configure:15308: WARNING: cuda.h: present but cannot be compiled configure:15308: WARNING: cuda.h: check for missing prerequisite headers? configure:15308: WARNING: cuda.h: see the Autoconf documentation configure:15308: WARNING: cuda.h: section "Present But Cannot Be Compiled" configure:15308: WARNING: cuda.h: proceeding with the compiler's result configure:15308: checking for cuda.h configure:15308: result: no configure:15315: error: required header file missing |
![]() |
![]() |
![]() |
#494 |
"Ed Hall"
Dec 2009
Adirondack Mtns
3·7·263 Posts |
![]() |
![]() |
![]() |
![]() |
#495 |
Sep 2008
Kansas
3,923 Posts |
![]()
I have had mixed results using ECM-GPU on CoLab. Not that CoLab is the problem, it may be the way I am using it. I run sets of 1024 curves at 11e7 on the GPU. Then I transfer the results file to my local system to run step 2. I’ve notice the sigmas are generated consecutively. Is that enough variety or should I break it down and run twice as many sets at 512 curves each?
Running three sets of 1024 curves at 11e7 failed to find a p43. Another run of two sets of 1024 at 11e7 failed to find a p46. Lastly, on the first set of 1024 curves at 11e7 found a p53. On the GPU I perform: Code:
echo <number> | ecm -v -save Cxxx.txt -gpu -gpucurves 1024 11e7 Code:
ecm -resume Cxxxy.txt -one 11e7 The p53 may be a lucky hit but the p43 & p46 are a big time miss. Should I run more of the smaller sets to get a better “spread” of sigma? |
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Running CUDA on non-Nvidia GPUs | Rodrigo | GPU Computing | 3 | 2016-05-17 05:43 |
Error in GMP-ECM 6.4.3 and latest svn | ATH | GMP-ECM | 10 | 2012-07-29 17:15 |
latest SVN 1677 | ATH | GMP-ECM | 7 | 2012-01-07 18:34 |
Has anyone seen my latest treatise? | davieddy | Lounge | 0 | 2011-01-21 19:29 |
Latest version? | [CZ]Pegas | Software | 3 | 2002-08-23 17:05 |