In[]:=
Needs["SubKernels`LocalKernels`"];Needs["SubKernels`RemoteKernels`"];Block[{$mathkernel=$mathkernel<>" -threadpriority=2"},LaunchKernels[]]
first
.
first
.
Out[]=
{KernelObject[1,first],KernelObject[2,first],KernelObject[3,first],KernelObject[4,first],KernelObject[5,first],KernelObject[6,first],KernelObject[7,first],KernelObject[10,first],KernelObject[11,first],KernelObject[12,first],KernelObject[13,first],KernelObject[14,first],KernelObject[15,first],KernelObject[16,first],KernelObject[17,second],KernelObject[18,second],KernelObject[19,second],KernelObject[20,second],KernelObject[21,second],KernelObject[22,second],KernelObject[23,second],KernelObject[24,second],KernelObject[25,second],KernelObject[26,second],KernelObject[27,second],KernelObject[28,second],KernelObject[29,second],KernelObject[30,second],KernelObject[31,second],KernelObject[32,second],KernelObject[33,local],KernelObject[34,local],KernelObject[35,local],KernelObject[37,local],KernelObject[38,local],KernelObject[39,local],KernelObject[41,local],KernelObject[43,local]}
In[]:=
Print["Start time is ",ds=DateString[],"."];prec=49812;(**Numberofrequireddecimals.*.*)ClearSystemCache[];T0=SessionTime[];expM[pre_]:=Module[{n,x11,z,t,a,d,s,k,bb,c,end,iprec,xvals,x,pc,cores=100(*=4*numberofphysicalcores*),tsize=75,chunksize,start=1,ll,ctab,pr=Floor[1.005pre]},chunksize=cores*tsize;n=Floor[1.32pr];end=Ceiling[n/chunksize];Print["Iterations required: ",n];Print["Will give ",end," time estimates, each more accurate than the previous."];Print["Will stop at ",end*chunksize," iterations to ensure precsion of around ",pr," decimal places."];d=ChebyshevT[n,3];{b,c,s}={SetPrecision[-1,1.1*n],-d,0};iprec=pr/16;Do[xvals=Flatten[ParallelTable[Table[ll=start+j*tsize+l;x=N[E^(Log[ll]/(ll)),iprec];pc=iprec;While[pc<pr,pc=Min[4pc,pr];x=SetPrecision[x,pc];xll=Power[x,ll];z=(ll-xll)/xll;t=2ll-1;t2=t^2;x*=(1+SetPrecision[4.5,pc](ll-1)/t2+(ll+1)z/(2llt)-SetPrecision[13.5,pc]ll(ll-1)/(3llt2+t^3z))];(**N[Exp[Log[ll]/ll],pr]**)x,{l,0,tsize-1}],{j,0,cores-1},Method"FinestGrained"]];ctab=ParallelTable[Table[c=b-c;ll=start+l-2;b*=2(ll+n)(ll-n)/((ll+1)(2ll+1));c,{l,chunksize}],Method"Automatic"];s+=ctab.(xvals-1);start+=chunksize;st=SessionTime[]-T0;kc=k*chunksize;ti=(st)/(kc+10^-4)*(n)/(3600)/(24);If[kc>1,Print["As of ",DateString[]," there were ",kc," iterations done in ",N[st,5]," seconds. That is ",N[kc/st,5]," iterations/s. ",N[kc/(end*chunksize)*100,7],"% complete."," It should take ",N[ti,6]," days or ",N[ti*24*3600,4],"s, and finish ",DatePlus[ds,ti],"."]];Print[];,{k,0,end-1}];N[-s/d,pr]];t2=Timing[MRB1=expM[prec];];Print["Finished on ",DateString[],". Proccessor and actual time were ",t2[[1]]," and ",SessionTime[]-T0," s. respectively"];Print["Enter MRB1 to print ",Floor[Precision[MRB1]]," digits. The error from a 6,500,000 or more digit calculation that used a different method is "];N[m3M-MRB1,20]
Start time is Thu 25 Apr 2024 20:52:12.
Iterations required: 66080
Will give 9 time estimates, each more accurate than the previous.
Will stop at 67500 iterations to ensure precsion of around 50061 decimal places.
As of Thu 25 Apr 2024 20:52:36 there were 7500 iterations done in 23.964 seconds. That is 312.97 iterations/s. 11.11111% complete. It should take 0.00244374 days or 211.1s, and finish Thu 25 Apr 2024 20:55:43.
As of Thu 25 Apr 2024 20:52:48 there were 15000 iterations done in 36.004 seconds. That is 416.62 iterations/s. 22.22222% complete. It should take 0.00183574 days or 158.6s, and finish Thu 25 Apr 2024 20:54:50.
As of Thu 25 Apr 2024 20:53:00 there were 22500 iterations done in 47.874 seconds. That is 469.99 iterations/s. 33.33333% complete. It should take 0.00162731 days or 140.6s, and finish Thu 25 Apr 2024 20:54:32.
As of Thu 25 Apr 2024 20:53:12 there were 30000 iterations done in 59.645 seconds. That is 502.97 iterations/s. 44.44444% complete. It should take 0.00152059 days or 131.4s, and finish Thu 25 Apr 2024 20:54:23.
As of Thu 25 Apr 2024 20:53:24 there were 37500 iterations done in 71.876 seconds. That is 521.73 iterations/s. 55.55556% complete. It should take 0.00146591 days or 126.7s, and finish Thu 25 Apr 2024 20:54:18.
As of Thu 25 Apr 2024 20:53:36 there were 45000 iterations done in 83.565 seconds. That is 538.50 iterations/s. 66.66667% complete. It should take 0.00142026 days or 122.7s, and finish Thu 25 Apr 2024 20:54:14.
As of Thu 25 Apr 2024 20:53:47 there were 52500 iterations done in 95.000 seconds. That is 552.63 iterations/s. 77.77778% complete. It should take 0.00138395 days or 119.6s, and finish Thu 25 Apr 2024 20:54:11.
As of Thu 25 Apr 2024 20:53:58 there were 60000 iterations done in 106.10 seconds. That is 565.52 iterations/s. 88.88889% complete. It should take 0.00135241 days or 116.8s, and finish Thu 25 Apr 2024 20:54:08.
Finished on Thu 25 Apr 2024 20:53:58. Proccessor and actual time were 40.9531 and 106.1201693 s. respectively
Enter MRB1 to print 50055 digits. The error from a 6,500,000 or more digit calculation that used a different method is
Out[]=
-0.18785964246206712025+m3M