孪生素数的计算
正在优化我的孪生素数筛程序, 主要受限于内存带宽目前筛10^16内孪生素数需要3000小时
有望能在2400小时完成,正考虑用CUDA实现 :b:
CUDA一次能达到多大的并行??? tprime:
如果只筛10^4以下的素数
得到的筛子里
有多少候选?? 时间需要10小时, 需要筛 7.81%的数
用CUDA心理没谱, 正在学习中,
CPU内存访问密集型应该能提高性能 CUDA能同时运行512个线程, 如果程序设计很好
较少的分支, 访问连续性能会更好, 较好的情况
能达到主流CPU的10倍性能(内除带宽) 你现在筛到多少?
是完全筛,还是筛完后,用算法测试候选? 完全的筛而不存.
由于我的程序在开始就能精确预测总计算时间
(多次反复测试和结果误差不到 0.1% 时间)
目前只算了10^14的孪生素数
10^15的K = 4,5,6,7,8 生素数
10^16以内的6生素数
如果要算10^16以内孪生素数恐怕需要上并行机, 你可借用否?
国外都用并行计算好几个月. <pre>表格中有时间的是我算得
更详细的数据在我pc上
Table of PI_X(10^n)( 2 <= X <= 7, 8 < n < 17)
__________________________________________________________________________________________________
| x |PI2(x)t2(s) | PI3(x) t3(s) |PI4(x) t4(s) |PI5(x) t5(s)| PI6(x) t6(s)| PI7(X)t(7)
---------------------------------------------------------------------------------------------------
| 10^09 |3424506 0.75|379508 0.55|28388 0.22 |3633 0.19|317 0.09| 54
| | 0.25|379748 0.17| 0.08 |3588 | 0.03| 49
----------------------------------------------------------------------------------------------------
| 10^10 |27412679 7.24|2713347 4.63|1805291.64 |20203 1.28|1613 0.55| 234
| | 2.37|2712226 1.56| 0.58 |20211 0.53| 0.17| 239 0.17
---------------------------------------------------------------------------------------------------
| 10^11 |224376048 112|20093124 64.7|1209318 19.3 |122457 12.95|8626 4.34|1183
| | 26.3|20081601 17.9| 6.15 |122855 3.91| 1.50|1152 1.22
----------------------------------------------------------------------------------------------------
| 10^12 |18705852201005|152850135 580|8398278 186. |776237 117.2|50408 40.51|6056
| | 255|152839134 156| 53.5 |775986 34.1| 12.4|591310.2
----------------------------------------------------------------------------------------------------
| 10^13 |15834664872 |1189795268 |60069713 2324|5108291 |303828 440|33395
| | 4369|11898269662304|+877 685|5109269 381| 132|33066 102
----------------------------------------------------------------------------------------------------
| 10^14 |135780321665 |9443942337 |441296836 |34709176 |1911246 |193078
| | 35694|9443899421 20344| 6440|34701400 3750| 1304|192731 988
----------------------------------------------------------------------------------------------------
| 10^15 |1177209242304 |76222348070(x)|3314576487 |242554539 |12431996 |1167688 +24
| | | |+8790 96564|242526656 50564|+133 16116|1166385 +26 10563
----------------------------------------------------------------------------------------------------
| 10^16 |10304195697298| |25379433651| |83217782 |
| | 3000h | | | | 216236|
----------------------------------------------------------------------------------------------------
| 10^17 | | | | |482142192 (x)|
| | | | | |+1170 3556211|
----------------------------------------------------------------------------------------------------
prime 4-tuples(10 ^ 16) = 25379433651, time use 340h
prime 6-tuples(10 ^ 16) = 82942101 + 1170, time use 55.01h
prime 6-tuples(10 ^ 15) = 12431996 + 133, time use 16116.41s
prime 4-tuples(10 ^ 14) = 441295937+ 899, time use 6439.90s
prime 4-tuples(10 ^ 15) = 3314576487, time use 96563.25s
prime 2-tuples(10 ^ 14) = 135780262685 + 58980, time use 35693.32s
prime 8-tuples(10 ^ 15) = 116493, time use 8427.10s // one of the patterns</pre> 下面是运行的屏幕输出
Calcaute prime k-tuples: PI2(1.0e+16)
Copyright: 2008 by Huang Yuanbing
Version:2.11
Mailto: bailuzhou@163.com
[Make sure your cpu L2 > 1367k with 2 core,
-----or it'll very slow for cache miss]
POWTEN = 16, THREAD_NUM = 3, SP = 10
BLOCKSIZE = 892371480, MASK = 31,
memory use = 56023207, need memory = 31808700
at least need total memory : 135 M
step 0 : sievebuff size = 2525 k
Prime = 10000
step 1 : sievePrime n = 100000000
Prime = 99999989
sieve sqrt prime time use 498.68 ms
step 2 : sievePattern n = 223092870
pn = 7952175
prime mode = 223287305 , all pn = 31808700
sieve patterns time use 420.54 ms, percent = 7.1290
step 3 : sieveTuples n = 892371482
Prime = 29872
tuples = 3091491
sieve block kutples time use 5071.79 ms
Thread , finishing ... 0.00%, time remain : 9340631 s, total need time : 2594.63 hours, segment ts = 339331
Thread , finishing ... 0.00%, time remain : 9419845 s, total need time : 2616.63 hours, segment ts = 323542
Thread , finishing ... 0.00%, time remain : 9526731 s, total need time : 2646.33 hours, segment ts = 346475
Thread , finishing ... 0.00%, time remain : 9558375 s, total need time : 2655.13 hours, segment ts = 346535 to tprime、无心人:
两位“顶帖”也应区分一下主贴啊,
虽然我知道你们的初衷并不是来“顶”的。
因为,若主题帖有问题,比如内容为广告、或犯低级错误等,
有可能被沉底、锁帖、删除处理(分立即执行或集中执行),
:tip: 一旦删主贴,其所有跟帖也将一并消失。
其实,凡是普通个人观点被移入“百家争鸣”的帖子,
大家都应谨慎留神,因为出错的可能性比较大,
有些错误甚至是很明显的,
设立该版是为了让他们可以有个言论讨论的地方,
让大家指出其不足。
需要强调的是,
本论坛对伪科学的、民科性的所谓“论文”坚决反对,
发现后将立即删除,并对发帖者永久性禁言!