实体分区的精确枚举

这是为设置的项目的主页计算实体分区。该项目的目标是计算所有正整数的实体分区数100美元$在2010年9月这个项目开始时,这些数字是已知的正整数$\leq 50.美元$本项目暂定时间表如下:

年份 2010 2011 2012 2013 2014 2015
N个 52 60 70 80 90 100
美国东部时间$\mathbf{p_3(N)}$ $10^{14}$ $10^{16}$ $10^{18}$ $10^{20}$ $10^{22}$ $10^{24}$

正如我们所看到的,每一步都需要增加一百倍的需求。这可以通过几种方式实现:改进代码、增加分支数量、并行化的新思想、更快的计算机等等。我们能实现上述时间表吗?只有时间才能回答这个问题。

结果

日期 2010年10月 2010年11月 2010年12月 2011年6月 2013年1月
N个 52 55 62 68 72
使用的代码 2.0版 3.0版 3.2版 3.2版 第4版
分支机构 1491 1542 4167 18334 118794

项目的当前状态:已暂停

我们有一个用C++编写的工作程序,可以在合理的时间内重现一些已知的数字。

  • 【2010年9月12日】代码已经并行使用1491个分支进行测试,以重现N=40的已知结果(在Naveen Sharma的帮助下)。
  • 【2010年9月13日】开始运行长分支(用于N=52)在IITM的狮子座超星系团上。开始为志愿者计算设置接口的过程。Arun Chaganty建议我们使用O3优化运行代码,它可以在运行时间上提供三个改进因素。因此,我们预计最长的分支机构将在不到5天的时间内运行(在狮子座),而不是最初估计的10天。
  • 【2010年9月14日】有一个shell脚本来验证提交的结果。
  • 【2010年9月21日至22日】 运行A和B在所有三个主干(=451/1491个分支)上完成。使用leo/vega/physics/curie运行所有作业。最终,作业被捆绑在一起(“取消”一些并行化),因此每束的运行时间大约为5天。等待建立志愿者计算门户让志愿者进行剩余的跑步。
  • 【2010年10月16日】所有的N=52 已完成。需要将它们合并以获得实体分区的数量。基准测试N=60正在执行的运行。运行时间(对于N=60)增加一倍360关于N=52运行时间。
  • 【2010年10月17日】 完整的N=52运行,现在有两个新的实心隔板的数量。这些是N<=52的结果。
(1)
\开始{align}p{3}(51)=11622\14153\25837\quad\textrm{和}\quad p_3(52)=19379\44766\58112\nonumber\end{align{
  • 【2010年10月20日】 并行化的突破:Srivatsan建议与等价类分支的-属于等价类的所有分支都有相同的后续树。这意味着只要跟踪等价类的多重性,每个等价类运行一次就足够了。由于这一观察,我们现在可以到达更高的深度。例如,在深度12处2800万家分行但仅限于5172等价类。这将在下一次运行中纳入N=60或更大的数量。
  • 【2010年10月24日】代码的v3.0已并行化深度10具有1542分支。使用测试N=55。这是运行代码的前奏N=60使用志愿计算。
  • 【2010年10月28日】Srivatsan创建3.2版代码的。修改(w.rt3.0版)在等价类中删除了对端点的依赖。虽然这是一个微小的改进,但它意义重大减少等价类的个数乘以4在深度12(5172成为1479). 很明显,我们可以计算实心隔板的数量$\leq 70美元$但要超越这一点,还需要进行重大改进。
  • 【2010年11月3日】深度10的代码v3.0提供了三个新数字。这是完整的N<=55时的结果。
(2)
\开始{align}p_3(53)=32238\23655\07746\,\p_3
  • 【2010年11月7日】证明了深度上等价类的数量千美元$与的平面分区数相同千美元$这为任何深度的等价类的数量提供了一个简单的公式。
  • 【2010年11月10日】已开始运行N=62个在上使用v3.2的并行版本深度14(=4167个等价类)。预计12月底/1月初会有结果。代码已经过测试,以重现N=50。其中一些部分将通过志愿计算完成-门户预计很快就会准备就绪。
  • 【2010年12月1日】超级集群Vega上的并行文件系统问题导致其关闭一周。然后,它又出现了,但错误仍然存在,一些数据文件没有写入。现在事情又回到了正轨,预计12月10日或最晚12月15日会有结果。门户尚未就绪。
  • 【2010年12月7日】测试N=70深度16已经开始使用N=55运行。自上次运行以来,代码没有任何改进。希望它能尽快到达!除非我们做出改进,否则超过70人的人数前景依然黯淡。
  • 【2010年12月9日】所有跑步记录N=62已完成。这是完整的N≤62时的结果这是我们添加的七个新数字,使添加的总数达到十二个。
(3)
\开始{align}p_3(56)=1 46400 93392 99229\,\p.3(57)=2 41380 42828 01444\,\p2(58)=3 97140 96826 33930\,\P3(59)=6 52064 95439 12193\,\end{align{
(4)
\开始{对齐}p3(60)=10 68461 42257 15559\,p3(61)=17 47294 70062 57293\,p_3(62)=28 51869 10933 88854\\结束{对齐}
  • 【2010年12月14日】已成功完成的测试运行N=55深度16使用3.2版的代码。为执行定时运行N=70在相同的深度。朴素的缩放显示,一些分支机构需要运行10天以上。可能需要转到更高的深度和/或使用程序的openmpi版本进行更长的运行。超越N=70依然暗淡。
  • 【2010年12月29日】生成了18334分支深度17-占用了200多个小时的CPU时间。需要为启动定时运行(以及分支测试)N=55启动的代码之前N=70。预期结果N=702011年2月底。Naveen有一个适用于1D分区的Monte Carlo代码的工作版本。
  • 【2011年1月3日】 N=55试运行时间深度17已完成,分支已完成已验证.500018334分支N=70已提交给HPCE机器,并将在1月的最后一周内完成运行。
  • 【2011年1月21日】似乎更实际的做法是获得以下实体分区的数量N=68在当前运行中。涉及运行时间较小的分支的正在进行的运行的时间安排使我们得出了这个结论。因此剩余的13334个分支将运行N=68个这样,结果将在2011年4月公布。未来的运行将在我们提出可能使我们超越的修改后进行N=68个.
  • 【2011年2月22日】大约10,500分支机构已提交给Leo/Vega。其中,6000+分支机构已经完工,剩余的工作将在三月底完成。剩下的8000+分支机构将于3月下半月开始运行,有望在4月底完成。
  • 【2011年3月27日】旅行了3周,在此期间我们的超级星团织女星重新启动。由于我无法远程访问维加斯,损失了大约2-3周的运行时间。上周早些时候才重新启动所有作业。我们现在只能在5月份完成。10,000+分支已完成。另一个2,000分支机构已提交。
  • 【2011年4月19日】拉斯维加斯又一次停产,供应商承诺永远解决SFS问题。目前只有少数作业在较小的集群leo上运行。关于12500分支已完成。希望这些数字能在五月底公布。同时,以下是新的预言。
  • 【2011年5月19日】关于96%工作完成了。814分支机构有望在本月底完工。这次,拉斯维加斯的SFS问题似乎已经得到解决,事情进展顺利。关于的手稿高维划分的渐近性Srivatsan和Naveen作为合著者正在准备出版。
  • [2011年6月1日]运行已完成。数据验证正在进行中,结果将在一两天内提供。Naveen和Srivatsan的论文出现在arXiv上没有这个N=68个数据。一旦结果准备好,这将包括在内。这是一个图,显示了渐近公式的工作情况。
日志3d.jpg
  • [2011年6月1日]这里有六个新数字。
(5)
\开始{对齐}p3(63)=46458506464748807\,p3(64)=7554202186803287\,p_3(65)=122606799866017598\,\\end{对齐{
(6)
\开始{对齐}p3(66)=198635761249922839,\p3(67)=321241075686259326,\p_3(68)=518619444932991189。\\结束{对齐}
  • 【2011年6月4日】实心隔墙项目将暂停。一旦我们有了新的想法,可以进一步改进代码,下一次运行就会进行。同时,重点将转移到通过移植代码的v3.2枚举四维和五维分区。这些项目的主页包括:四维分区||五维分区.
  • 【2012年2月2日】Intel India表示对该项目感兴趣,并将通过提供财务支持来支持该项目,更重要的是还将提供计算能力和技术支持。下一次跑步N=74正在计划中。
  • 【2012年3月2日】最近的一篇论文Ekhad和Zeilberger讨论枚举实心标准杨表(SSYT),并提供了该系列的前三十个术语。在与Naveen和Srivatsan的论文中,我定义了几乎拓扑序列(ATS)表示推广Knuth定义的集合P。在本文中,我展示了SSYT和ATS之间的双射$P=\mathbb{N}^3$与实心隔墙相关的!SSYT的数量与给定深度处的ATS数量(即节点数量)相同。我们已经确定了前17个数字(请参见此处)这与EZ论文第3页给出的列表一致(很好!)。EZ列表很有用。它告诉我们,在深度20处63157 41514 45665节点(SSYT/ATS),我们知道只有75278管路(平面分区)。此外,Zeilberger讨论了生成与给定平面分区相关的所有ATS的方法。下一代代码应该利用这一点,因为我们可以考虑深度20对于N=74.
  • 【2012年3月30日】我们现在有了生成给定形状(平面分区)的所有节点(即SSYT/ATS)的代码。原则上,现在我们可以生成与深度20处的所有节点相关的数据,以便在下一轮运行中显示。我们还正在修改Knuth算法的实现,以减少内存开销等。希望我们能在2012年4月底之前准备好新代码(v4.0)。
  • 【2012年4月5日】我有一个减少内存占用的基本Knuth算法的实现$N^{d-1}$对于d维分区。现在它只会随着$d*N美元$然而,对于没有内存问题的实心分区,Knuth代码的v2运行速度更快,除非新代码的进一步优化改变了运行时间,否则将优先使用。
  • 【2012年5月12日】Srivatsan提出了该代码的第一版v4.0。必须对其进行调试和检查。这只会在2012年7月至8月暑假后发生。
  • 【2012年9月11日】我们需要进行修改,以减少生成初始配置的运行时间深度=21在开始下一次跑步之前。事情变得越来越困难了!
  • 【2012年9月12日】开始在生成初始配置深度=21。我预计需要六周的时间(不是打字错误!)才能生成全部内容。然后可以在开始测试运行N=60验证初始配置大约需要一个月。我对IITM超级星团的CPU可用性有问题——目前它被限制在16个。IITM的新集群尚未由供应商安装,尽管机器已在某个时间之前交付。我希望安装后一切都会好起来!
  • 【2012年9月15日】我终于提交了在深度=21时创建所有初始配置所需的所有作业。我希望在10月底之前准备好初步数据。根据计算机时间的可用性,将同时进行代码验证。
  • 【2012年9月26日】创建了新代码来生成给定特定形状和对称性的所有ATS——这是基于反向运行的Knuth算法,结果证明比使用BM算法的更快。希望初始数据的生成速度更快。在一天左右的时间里,IITM的超星系团织女星也将被新的超星团室女星取代。处女座应该在十月的第一周内做好准备。
  • 【2012年10月16日】新的IITM集群处女座发布给用户。分支的生成尚未完成(大约完成50-60%),分支的验证将通过复制以下实体分区的数量来进行N=56分支机构的生成将于10月底完成,验证将于11月初完成。这个N=56运行还将用于估计运行时间N=72。我们同时开始了一些N=72跑。因此,除非新超级集群出现故障,否则下一次运行将在2012年12月全面展开。
  • 【2012年11月4日】所有分支的生成都已完成。分支验证是通过重新生成以下实体分区的数量进行的N=56。这将很快扩展到N=60。验证期间出现了一个有趣的问题-由于缺少配置,生成数字似乎需要花费大量时间。这是通过对邮政编码进行简单修改后,使用深度12运行完成的。
  • 【2012年11月5日】分支验证在N=60。这是一个重要检查关于代码的前半部分。按对称组织时,我们有20024(=19574+450)个分支,而不是118794(=1974*6+450*3)个分支。这个N=72跑步已经完成了大约25%,我们希望在年底前获得新的数据。
  • 【2012年11月11日】45%的运行已完成。随着新IITM超星系团的使用量增加,我们的访问量因此减少,仍有希望在年底前获得结果。
  • 【2012年12月6日】80%的跑步已经完成。如果一切如期进行,我们预计圣诞节前会有结果。的详细信息当前运行保持在此处。您还将发现使用蒙特卡罗模拟获得的估计值。
  • 【2012年12月26日】在12月19日至21日按计划关闭维护之后,超级集群处女座一直在因系统工程师试图解决的文件系统问题而步履蹒跚。这延迟了当前运行的完成,本应在此时完成。这确实令人沮丧,因为99%的跑步已经完成。如果没有其他问题,我们应该能够在年底前完成运行,超过以下实体分区的目标数量70.
  • 【2012年12月30日】好消息是99.9%的跑步已经完成。坏消息是,处女座在过去两天里一直在下跌,只剩下26家分行。我们需要在处女座持续30小时才能完成。
  • 【2013年1月3日】我终于完成了比赛,我们有了四个新的数字。
(7)
\开始{对齐}p3(69)=835840682363211461,\p3(70)=1344830884987012679,\end{对齐{
(8)
\开始{对齐}p_3(71)=2160197135019313694\,\p.3(72)=3464274974065172792\结束{对齐{

编程方面

从事此项目的人员:

  • B.Srivatsan(他编写了第一个工作程序并对其进行了改进)
  • Suresh Govindarajan(项目协调员/首席测试人员)

要做的事情:

  • 创建动态生成与给定形状关联的所有节点并为运行准备数据的代码。如2012年9月11日注释中所述,我们需要使预编码更高效。测试已打开。多恩
  • 更改数据的存储方式-现在有一个大小为的数组$2^N(美元)$最多用于存储N美元$非零条目。只存储那些具有非零项的位置(在数组中)是有意义的。多恩
  • 创建mpi版本的代码,该代码会自动生成一些额外深度的子树,并创建并行运行,这些并行运行会自动提供给节点以供进一步处理。(应在年底前为下一次测试做好准备,如果可能,从深度21开始,测试目标N=80)。

.

近期目标:

  1. 再现实心隔板的数量$\leq 52美元$到9月底2010年10月。-完成!
  2. 到2010年12月,建立一个门户,由多个用户在多台计算机上分发计算结果。这有时被称为志愿计算。最终,我们将建立一个BOINC服务器。推迟到以后运行。
  3. 开始下一次跑步(60美元$)截至2010年12月。完成!
  4. 开始下一次跑步($N\leq 68美元$)2011年1月。多恩
  5. 生成包含2012年3月2日注释的代码v4.0。或多或少完成了
  6. 开始下一次跑步($N\leq 72美元$)期间五月 九月2012年10月。注意延迟!

页面由Suresh Govindarajan维护

除非另有说明,否则本页面的内容根据Creative Commons Attribution-ShareAlike 3.0许可