PiHex

来自中国分布式计算总站
Merlinl讨论 | 贡献2010年7月9日 (五) 11:27的版本 (新条目)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

PiHex

pi.gif
PiHex logo
无屏幕保护图形

开发者
版本历史
运算平台
项目平台 独立平台
程序情况
任务情况
项目状态 已结束
项目类别 数学类
优化程序
计算特点 CPU密集:

支持0分享率

支持GPU计算

官方网址 (已失效) PiHex
{{{rss}}} [{{{rss}}} 通过 RSS 获取项目新闻]



PiHex 是一个使用计算机闲置处理能力具体地计算 π 的某一位精确值的分布式计算项目。该项目已于 2000 年 9 月宣告结束。


参加 PiHex

PiHex 项目已经结束了。保留在这里是为了:一来可以方便后来者窥其原貌,二来可以供研究人员参考。

如果您拥有一台使用 Windows 95/98/NT 系统的奔腾(或更快速的)电脑,您至今没有参加过其他的分布式计算项目,那么请将您的处理器闲置时钟周期捐献给我们。PiHex 将在后台以最低优先级运行,这意味着它仅仅只在无其他应用程序运行时使用处理器的内核时间,因此,它不会降低您的计算机的运行速度,并且仅仅只使用连 100K 都不到的内存和磁盘空间,所以它不会给您的系统资源带来什么压力 ;-) 。

所有您需要做的事情,仅仅只是下载,解压缩并运行 PiHex 而已!一旦您为其提供了一些必要的信息之后,它即使在无人职守的情况下都能自己完美的运行(而且能自动地与服务器相连接),当然,您必须拥有一个可用的网络或拨号连接。

如果您没有任何网络借口或拨号连接,您仍然可以通过其他的手段运行 PiHex(例如,将文件拷贝到其他硬盘上)。您可以将您的结果输出文件内容通过手动连接页面反馈给服务器。


下载 PiHex

PiHex 目前仅仅只发布了基于 Windows 95/98/NT/2000 平台的客户端。您可以点击这里下载 6.00 版。

我曾经说过 PiHex 6.0 能够在 Linux、WINE 下得到完美的运行;如果有谁试验成功并提供一份详细的说明,那就再完美不过了。

PiHex 项目已经结束了。但您依然可以安装并运行客户端程序,只是程序将无法连接到服务器(服务器已关闭)。


源代码

您可以点击这里下载 PiHex 源代码。接口程序(main.c)是用纯 C 语言编写的,并非 MFC 或其他什么东东,因此理解源代码是非常容易的(如果您正在学习 Windows 编程,它也许是一个很好的例子,也许是一个很差劲的例子,但是它毕竟是一个例子)。我尽量将源代码从 PiHex 项目中脱离出来,这样,您仅仅只需对源代码进行少量的修改,就能使其在其他的项目中发挥效用了。

核心计算代码在这两个文件中:pihex.c 和 polylog*.asm —— 该代码理解起来可能极其困难。polylog.asm 包含“glue”代码,并将调用 polylogp5.asm 或 polylogp6.asm 中特定的一个针对不同的处理器而设计的汇编程序。



关于 PiHex

PiHex 是一个分布式计算项目,该项目使用两千多台计算机的闲置处理时间来计算 π 的某一特定位的精确值。我们使用Bellard 公式,它是一种 BBP 公式的快速算法,由 Bailey、Borwein 和 Plouffe 等人于 1995 提出。

在获得了三项记录 —— 计算出 π 的第 5 万亿位第 40 万亿位第 10^24 位 —— 之后,PiHex 项目宣告结束。


致谢

特别感谢:

  • David Bailey, Peter Borwein, and Simon Plouffe, for publishing their landmark paper, On the Rapid Computation of Various Polylogarithmic Constants, in which they derived the BBP formula and algorithm, which made it possible for the first time to compute a specific bit in Pi, without computing all the previous bits.
  • Fabrice Bellard, for finding Bellard's formula, which is 43% faster than the BBP formula.
  • George Woltman,因特网梅森素数大搜索(GIMPS)项目的主持人,for both inspiring me to start this project, and for collaborating with me in writing the binary powering code which is the center of both PiHex and the trial factoring code of GIMPS.
  • Graham Percival,对项目进行了大量的前期测试。
  • Academic Computing Services of Simon Fraser University for a) providing all students with computing accounts, including web space, and b) deleting all our files at the end of each semester.
  • Peter Borwein, Loki Jorgenson, and the CECM for hosting the PiHex web pages (and not deleting them), and letting me set up an automated server for PiHex on one of their computers (as soon as I write some code for it).
  • Jay Urbanski,对 SMP 代码进行前期测试。
  • David Boud and Davinder Singh of Intel developer support for helping me work out the nuances of the P6.
  • Simon Fraser University's Media and Public Relations Office, for putting together a completely non-technical (ie, somewhat comprehensible to the average person) press release about the calculation of the five trillionth bit of Pi.
  • Rob Simmons of TBS Communications, who voluntered to give PiHex a "New Look" shortly after I announced finishing the 5 trillionth bit of Pi.
  • Luigi Morelli, for rendering the PiHex icon in povray.
  • Kimmo Herranen,对 PiHex 5.0 版客户端进行前期测试。
  • 《纽约时报》对我们计算出 π 的第五万亿位数值这一突破进行了报道,当天参与 PiHex 项目的计算机总数爆增至前一天的 120% 。
  • 温哥华省政府允许我在网站上发布他们为我拍摄的相片。
  • Bob O'Ham for helping me out at the end of the forty trillionth bit computation by processing all the 'holes' created when computers crashed, people deleted outputs accidentally, etc.
  • 所有为 PiHex 项目无偿贡献处理器时钟周期的人们!