PrimeGridとは? [edit]

PrimeGrid (プライムグリッド)とは、素数を発見するための数学系プロジェクトです。

素数を発見する面白さをもたらし、また素数に関連する教材を提供することにより数学分野へ貢献し、暗号システムの発展・コンピュータセキュリティの向上に役立てられます。

運良く記録的な素数を発見した場合、発見者として歴史に自分の名前を刻むこともできます。 自分が素数を発見したとき

参加可能なOS・マシンは「Windows・Linux・Mac OS」

PrimeGridでは、2020年2月現在 下記のプロジェクトが活動中です。

プロジェクト名WindowsLinuxMac備考 (最近の平均所要時間)
32bit64bit32bit64bit32bit64bit
Arithmetic Progression of Primes 27 (AP27) (CPU)×××(27時間5分6秒)
Arithmetic Progression of Primes 27 (AP27) (OpenCL)×××(3時間27分53秒)
321 Prime Search LLR (321)×10%のクレジットボーナス付加(44時間29分57秒)
Cullen Prime Search LLR (CUL)×20%のクレジットボーナス付加(112時間38分22秒)
Extended Sierpinski Problem LLR (ESP)×20%のクレジットボーナス付加(71時間10秒)
Fermat Divisor Search LLR (PPS-DIV)×(5時間12分35秒)
Generalized Cullen/Woodall Prime Search LLR (GCW)×(80時間50分8秒)
Prime Sierpinski Problem LLR (PSP)×45%のクレジットボーナス付加(170時間54分42秒)
Proth Prime Search LLR (PPS)×(1時間10分42秒)
Proth Prime Search Extended LLR (PPSE)×(14分30秒)
Proth Mega Prime Search LLR (MEGA)×(1時間17分52秒)
Seventeen or Bust LLR (SOB)×非常に長いタスク、60%のクレジットボーナス付加(315時間525分28秒)
Sierpinski / Riesel Base 5 LLR (SR5)×10%のクレジットボーナス付加(15時間17分32秒)※素数発見時は10倍まである
Sophie Germain Prime Search LLR (SGS)×(19分16秒)※素数発見時は倍になる
The Riesel Problem LLR (TRP)×20%のクレジットボーナス付加(35時間36分32秒)
Woodall Prime Search LLR (WOO)×20%のクレジットボーナス付加(121時間34分41秒)
321 Seive (321-Seive)×(1時間6分33秒)
Proth Prime Search Sieve (PPS-Sieve) (CPU)×(17時間28分20秒)
Proth Prime Search Sieve (PPS-Sieve) (CUDA)×(15分40秒)
Proth Prime Search Sieve (PPS-Sieve) (OpenCL)×
Generalized Fermat Prime Search n=15 (GFN-15) (OpenCL)×(3分51秒)
Generalized Fermat Prime Search n=16 (GFN-16) (OpenCL)×(3分18秒)
Generalized Fermat Prime Search n=17 (GFN-17-Low) (CPU)×(11時間47分4秒)
Generalized Fermat Prime Search n=17 (GFN-17-Low) (OpenCL)×(14分46秒)
Generalized Fermat Prime Search n=17, b≧42,597,774 (GFN-17-Mega) (OpenCL)×(8分18秒)
Generalized Fermat Prime Search n=18 (GFN-18) (CPU)×(37時間19分4秒)
Generalized Fermat Prime Search n=18 (GFN-18) (OpenCL)×(31分48秒)
Generalized Fermat Prime Search n=19 (GFN-19) (CPU)×(197時間48分4秒)
Generalized Fermat Prime Search n=19 (GFN-19) (OpenCL)×(1時間23分39秒)
Generalized Fermat Prime Search n=20 (GFN-20) (CPU)×10%のクレジットボーナス付加(698時間18分31秒)
Generalized Fermat Prime Search n=20 (GFN-20) (OpenCL)×10%のクレジットボーナス付加(5時間55分2秒)
Generalized Fermat Prime Search n=21 (GFN-21) (CPU)×20%のクレジットボーナス付加(315時間36分45秒)
Generalized Fermat Prime Search n=21 (GFN-21) (OpenCL)×20%のクレジットボーナス付加(23時間59分35秒)
Generalized Fermat Prime Search n=21 (GFN-22) (CPU)×20%のクレジットボーナス付加(315時間36分45秒)
Generalized Fermat Prime Search n=22 (GFN-22) (OpenCL)×非常に長いタスク、50%のクレジットボーナス付加(76時間34分15秒)
Do You Feel Lucky? (GFN World Record) (OpenCL)×非常に長いタスク、75%のクレジットボーナス付加(54時間19分29秒)
○:対応プログラムあり △:32bit用のプログラムが配布される ×:対応プログラム無し

プリファレンスで同時に実行するタスクの最大数が設定できます。

またLLRアプリの実行スレッド数もプリファレンスで設定可能で、マルチスレッドによる解析の高速化が簡単に行なえます。

平均所要時間は、参加者が解析した宿題1個あたりの平均時間。(2020/02/02 現在)

性能が高いCPUを使用しているなら平均所要時間より早く終わるし、何年も昔のCPUなら当然平均より遅くなる。

PCの環境も影響するので、実際にどれほど時間がかかるかは自分でやってみないと分からない。あくまで目安といったところ。

WCGなどから移ってきた人は、宿題1個が数日かかると聞いて「長すぎだろゴルァ!やってらんねーよ」と思うかもしれない。

しかし、PrimeGridの最大の素数を「Generalized Fermat Prime Search」からTeam 2chのメンバーが発見したこともあった(現在は321 Prime Searchで発見されたものが最大)。

長時間かかるプロジェクトに参加するのも悪くないのではないだろうか。

各種プロジェクトの説明 [edit]

  • AP27 Search: 等差数列(arithmetic progression)の素数を探る。

           AP27とは素数27個の等差数列のこと。素数27個の等差数列は、2019年9月23日(UTC)にPrimeGridのAP27 Searchプロジェクトで最初に発見された。

           なお、素数の等差数列はいくらでも長いものが存在することが証明されている。(グリーン・タオの定理)
  • 321 Prime Search: 3*2^n±1の形のメガ素数(100万桁以上の大きさの素数)を探る。
  • Cullen Prime Search: n*2^n+1の形のメガ素数を探る。(カレン数、ウッダル数)
  • Woodall Prime Search: n*2^n-1の形のメガ素数を探る。(カレン数、ウッダル数)
  • Generalized Cullen/Woodall Prime Search: 特定のbに対し、n*b^n±1の形の素数を探る。2019年12月現在、ウッダル数については停止中で、カレン数については、探索中のbは10個ある。
  • Extended Sierpinski Problem :現在証明されている、最小のシェルピンスキー数は78557で2番目に小さいものは271129である。

                   271129未満で78557より大きい、「素数の」シェルピンスキー数はPrime Sierpinski Problemで探索が行われている。

                   Extended Sierpinski Problemは、同じ領域で「合成数の」シェルピンスキー数の探索を行う。2020年1月現在、候補は9個ある。
  • Prime Sierpinski Problem : シェルピンスキー数である最小の素数を探る。(シェルピンスキー数)

                  現在、271129が素数であるシェルピンスキー数であることが証明されているが、それが最小であるかを証明するプロジェクト。

                  78557未満の候補に関してはSOBとかぶるので本プロジェクトでは探索の対象外である模様。

                  2017年9月現在、候補は9個ある。
  • Fermat Divisor Search: プロス数のうち、フェルマー数の素因数となる素数を探る。
  • Proth Prime Search: k*2^n+1の形(k < 1200)の素数を探る。(プロス数)
  • Proth Prime Search Extended: k*2^n+1の形(1200 < k < 10000)の素数を探る。(プロス数)
  • Proth Mega Prime Search: k*2^n+1の形(100 < k < 300, 3.322M <= n < 3.6M)で100万桁以上の素数を探る。(プロス数)
  • Seventeen or Bust: 78557がシェルピンスキー数であることは証明されているが、最小であるかはわかっていない。

              そのため、それよりも小さいシェルピンスキー数を探すプロジェクト

              プロジェクト開始時17個の候補があったため「Seventeen or Bust」という名がついた模様。

              2016年11月現在、それよりも小さなシェルピンスキー数の候補は5個ある。
  • Sierpinski/Riesel Base 5 Problem: シェルピンスキー数/リーゼル数の、k*2^n±1をk*5^n±1にしたもの。

                      最小のシェルピンスキー数(Base 5)は159986と考えられているがそれよりも小さな数を探す。候補は2020年5月現在で30個ある。

                      最小のリーゼル数(Base 5)は346802と考えられているがそれよりも小さな数を探す。候補は2020年8月現在で62個ある。
  • Sophie Germain Prime Search: 2p+1も素数である素数pを探る。素数発見時は双子素数があるか検証するためp+2も併せて検証する。(ソフィー・ジェルマン素数)
  • The Riesel Problem: 現在知られている最小のリーゼル数の509203が本当に最小であるかを探る。

               2017年12月現在、それよりも小さなリーゼル数の候補は49個ある。
  • Generalized Fermat Prime Search: b^2^n+1の形(n=15~22)の素数を探す。

                     n=22はかつてWorld Recordとも呼ばれていた。(Generalized Fermat Primeフェルマー素数)
  • Do You Feel Lucky?: b^2^22+1の形の素数で、世界最大のものを探す。世界最大の素数が更新された際は、それに応じて桁数が引き上げられるようbが変動する。

LLRとは?

Lucas-Lehmer-Riesel testのことを示し、該当する素数かどうかを確かめる。

LLRはCPUにかなりの負担がかかるので、特にLLRのチャレンジのときは、しっかり熱対策しておく必要がある。

素数の発見者として歴史に名前を残したいという場合はLLRを解析する。

ただし、発見者名をあらかじめ設定しておくか、発見したときに名前を届け出る必要がある。 自分が素数を発見したとき

そうしないと発見者として扱われなくなる。 Team 2chでの実例

Sieveとは?

Sieve は素数を見つけるための最初のステップです。

一般的に、sieve というのは網やネット、または他の濾過・蒸留方法のようなものを用いて、いるものといらないものを分けることです。

PrimeGridで「Sieve」と言えば「素数候補抽出」といった意味合いでしょうか。

PrimeGrid の場合、最終的に欲しいのは素数であって、素数でない数は必要ありません。
(PSP sieve には Geoff Reynolds の sr2sieve プログラムを私たちは使用しています)

小さい因数(割り切れる数)を持つ数を取り除くことで、できるだけ素数の候補となる数を絞り込んでいきます。

この過程は素数判定よりも速いので、素数判定の前にデータの集合を完全にふるいにかけておくことは良いことです。

Sieving(ふるい分け) によって、多くの候補となっている数から、素数でない数が始めに取り除かれます。

しかし、ふるい分けが進むにつれて、取り除かれる数の割合が少なくなり、最終的には素数判定と同じ割合で素数でない数が取り除かれます。

これを「optimal depth(直訳すると「最善の深み」)」と呼ぶこともあります。
このときに素数判定を行うと良いのです。

ふるい分けをするのにどれだけ時間がかかるか、どのぐらいまで進むのかを決定するのには、多くの要素があります。

ふるい分けをした後、残っているすべての素数候補である数に対して、素数であるかどうか判定する必要があります。

参加方法 [edit]

すでにBOINCをインストールしてWCGなどに参加されている方 [edit]

次の「2.セットアップ」以降を参照。Team 2chへの参加も忘れずに。

まだBOINC自体もインストールしていない方 [edit]

1.BOINCクライアントを入手。 [edit]

BOINCクライアントをまだ入手してないならここから落としてインストールします。

2.セットアップ(すでにBOINCをインストールしている方はここから) [edit]

BOINCクライアントの「Add Project」(Advanced Viewなら「ツール」→「Attach to project」)からプロジェクト追加画面へ。

初回起動なら自動的に追加画面が開きます。

URLは「https://www.primegrid.com/」。メールアドレスとパスを要求されるので入れる。パスはメモしておく。

  • メールアドレスは他のプロジェクトと共通の物を使用します。

3.サイトでアカウント情報を設定 [edit]

入力が終わるとブラウザが開き名前と国・郵便番号を入れるページに行くので入力する。名前は「名前@板名」で。
デフォでユーザー名になってるので変える。

4.Team 2chに参加する [edit]

名前を入れるとアカウント情報のページに行く。その状態でこのTeam 2chのページへ行きJoin This Teamの所のJoinを押す。

参加後、各種設定 [edit]

プロジェクトの変更 [edit]

PrimeGridで参加するプロジェクトを変更したい場合はPrimeGrid (プライムグリッド)のサイトからあなたのアカウントをクリックしてログインし、

PrimeGrid についての好みの設定(プリファレンス)」から「PrimeGrid プリファレンスを編集する」を選択して変更する。

全てのCPUのプロジェクトをオフにしても321-sleaveは自動的にONとなりOFFにすることが出来ない。GPUのプロジェクトだけ解析したい場合は、「Use CPU」のチェックを外せば、321-sleaveを含めたすべてのCPUのプロジェクトから解放される。

チャレンジに参加する場合は、ここの設定を変更することになる。

全部のプロジェクトのチェックを外してしまうと、再び該当PCのプロジェクトにチェックをつけても該当するPCには自動的に宿題は降ってこない。その場合は、そのPCのBOINCを直接操作して設定の再読み込みを行うと、宿題の獲得作業が行われる。

言語の変更 [edit]

通常はブラウザの言語設定に従いますが、明示的に言語設定のページで「ja (Japanese/日本語)」を選択することも出来ます。

その他の変更 [edit]

CPU使用率はクライアント側で指定するここのEdit preferencesで設定する

詳しいBOINC Managerの説明はこちら。

成績やサーバー状態の確認 [edit]

成績や宿題の提出状況等はあなたのアカウントのタスクの「表示」で確認できます。

ある一定以上の成績を収めるとプロジェクトごとにBadgesをもらうことが出来ます。

アメジストルビーターコイズジェイドサファイアエメラルド
ダブル銅ダブル銀ダブル金ダブルアメジストダブルルビーダブルターコイズダブルジェイドダブルサファイアダブルエメラルド
クレジットLLR、Sieve、AP2610,000100,000500,0001,000,0002,000,0005,000,00010,000,00020,000,00050,000,000
100,000,000200,000,000500,000,0001,000,000,0002,000,000,0005,000,000,00010,000,000,00020,000,000,00050,000,000,000

PRPNetに参加してクレジットを稼ぐと、PSA(Project Staging Area)Badgeが貰えます。

以前は寄付(donate)を行うと王冠Badgeが貰えましたが、現在はアカウントの名前のところに王冠が表示されます。

Team 2ch内のランキング

サーバー状態
Database/file statusが宿題の状況。Ready to sendが配布の用意できてる宿題数。In progressが配布して進行中の宿題数。

CPUを利用した解析 [edit]

CPUでの解析を行う場合は、CPUのHyper-Threading機能は、BIOSからオフにしてください。AMDの類似機能についても同様です。実在コア数の2倍の宿題を同時に処理できるのは事実ですが、宿題が終わるまでの時間は2倍以上長くなります。

ONでも解析は可能ですが、不要な時間と電気代と発熱が発生するだけです。Hyper-Threading機能が有効であると考えられているのは、CPUを使ったTRP-Sleve(終了)とPPS-Sleveだけです。

Hyper-Threading機能が有効に作用しない原因は、プログラム同士のCPUキャッシュメモリの奪い合い(メモリ競合)です。特にAVX機能を搭載したCPU(インテルだと第2世代core;Sandy Bridge以降)ではその傾向が顕著とされます。

BIOSでHyper-Threading機能をOFFに出来ない場合は、BOINCの設定でCPU使用率を50%に指定します。この設定によりCPUコアに処理が分散されることを最小限にし、メモリ競合の発生を抑制します。CPUの選択の段階から考慮すると、Hyper-Threading機能を搭載した上位のCPUを購入するメリットはなく、逆にHyper-Threading機能が搭載されていなくても、少しでもクロック数が高いCPUを購入した方が有利となります。

インテルは、殆どの模擬処理でHyper-Threading機能は有効に機能し、CPUダイの5%ほどの半導体素子の追加によって30%程度の処理能力向上が見込めると報道していますが、実際はサーバー領域やビジネスソフト領域でもHyper-Threading機能をONにすると大幅に処理能力が落ちる現象が広く知られています。

GPUを利用した解析 [edit]

CPUでの解析とは別に、GPUを利用した解析も行うことができます。

これにより、CPUだけの場合よりも多くの解析を行うことができ、GPUの性能によってはCPUよりも何倍も速く解析を行うことができます。

ただし、GPUで解析すると、PCの動作が遅くなることがあると公式でアナウンスされています。(GPUの性能にもよる)

GPUを用いた解析を速くするポイントは、Double PrecisionのFLOPSの高さです。これが高いほど計算精度が上がるため、計算時間が短くなります。

「Arithmetic Progression of Primes 27」が2016年8月に開始されました。GPUでは整数演算のみとのこと。

「Proth Prime Search Sieve」が2010年7月にGPUに対応しました。NVIDIA製(CUDA)、AMD(ATI)製(OpenCL)ともに解析できます。

「Generalized Fermat Prime Search」が追加され、GPUではNVIDIA製、AMD(ATI)製ともにOpenCLで解析できます。

宿題には短いもの(GFN-15)から非常に長いもの(GFN-22)まであります。

解析を行う場合は

  1. PrimeGridのサイトでの設定
  2. BOINCの設定
  3. GPUの設定
    をする必要があります。
    (Sieve)の場合、最初にSieve用のファイルをダウンロードするので、設定し終わってもすぐに解析が始まるわけではありません

    PrimeGridと何回か通信した後でWUが降ってきます。降ってこない場合は設定を確認して下さい。

PrimeGridのサイトでの設定 [edit]

「あなたのアカウント」からログインし、「PrimeGrid についての好みの設定(プリファレンス)」から「PrimeGrid プリファレンスを編集する」をクリックする。

「Use ATI/AMD GPU」にチェックを入れるとATI/AMDのGPU、「Use NVIDIA GPU」にチェックを入れるとNVIDIAのGPUを利用するようになる。

PCの動作が遅くなるからイヤだという場合はBOINCの設定で回避策がある。(後述)

そもそもGPUを使用したくない場合はチェックを外す。

2019/7現在、

  1. Arithmetic Progression of Primes 27については CPU・NVIDIA GPU・AMD/ATI GPU
  2. Proth Prime Search Sieveについては CPU・CUDA(NVIDIA)・OpenCL(AMD)
  3. Generalized Fermat Prime Searchについては CPU・OpenCL(NVIDIA/AMD)

がGPUを利用するかどうかそれぞれ設定できるので、対応する部分にチェックを入れる。

GPUのみで解析を行いたい(CPU向けはいらない)場合、Use CPUのチェックを外すと、CPU向けのWUは降ってこない状態になる。

BOINCの設定 [edit]

BOINCは最新のものを使用する。バージョンアップの方法
Download または 推奨版一覧 から自分のPCに合ったRecommended version(推奨版)をダウンロードする。

(Windowsの場合。他の場合もほぼ同じ?)
メニューバーの「アクティビティ」で「常時 GPUを使う」または「プレファレンスに従って GPUを使用」に設定しておく。

プレファレンスの設定方法は、メニューバーの「オプション」から「計算に関するプレファレンス」を選ぶ。

「計算」のタブで「コンピュータ利用中は、GPUによる計算を一時停止」のチェックを外すと「常時 GPUを使う」の設定と同じになる。

このチェックを入れると、「「使用中」とは、マウス・キーボード入力が右の時間内にあった場合のことです」で設定した時間以上PCを放置したときにGPUでの解析を行う。

例えば1分に設定した場合、1分PCを放置するとGPUでの解析が始まる。(スクリーンセーバーの理屈と同じ)

「常時 GPUを使う」を選択、または「コンピュータ利用中は、GPUによる計算を一時停止」のチェックを外した場合、PCの動作が遅くなる場合があるので
これがイヤだという場合は

  1. 「プレファレンスに従って GPUを使用」に設定。
  2. 「コンピュータ利用中は、GPUによる計算を一時停止」にチェックを入れる。
  3. 「使用中」とは、の時間を設定する。

GPUの設定 [edit]

NVIDIAの場合 [edit]

ドライバを最新のものにしておくだけで良いです。
https://www.nvidia.co.jp/Download/index.aspx?lang=jp

オーバークロックモデルの製品は、使用が推奨されていません(Overclocking Nvidia GPUs -- even factory overclocking -- is very strongly discouraged.)。

AMDの場合 [edit]

ドライバを最新のものにしておくだけで良いです。
https://www.amd.com/ja/support

AMDチップのグラボでGFN-21、GFN-22を行う場合は、浮動小数点演算ユニット(AMD用語ではStream Processorなどとも表現される)を実装したチップが必要。

AMDのグラボは、電圧を少し下げてもあまり処理性能が変わらないことが知られています(純正の状態で電圧をかけすぎ)。発熱や電気代が気になる場合は、クロックや電圧を少し下げると、宿題の処理速度に殆ど影響を与えずに発熱や電気代を減らすことが出来ますが、やりすぎると計算が途中で止まったりエラーになったりします。

またBIOSの書き換えで、RX470をRX570化したり、5700を5700XT化、5600XTを5700化できることも知られています。

チャレンジ [edit]

PrimeGridは定期的にチャレンジ(解析対象を一つに絞って、世界中でスコアを競い合うお祭り)が行われています。

Team 2chは2019年のチーム成績で世界12位の成績を収めました。

チャレンジ一覧 http://www.primegrid.com/challenge/challenge.php

チーム成績   http://www.primegrid.com/challenge/challenge.php#team

2019年最終結果(総合12位) http://www.primegrid.com/challenge/2019_challenge.php

2018年最終結果(総合12位) http://www.primegrid.com/challenge/2018_challenge.php

2017年最終結果(総合11位) http://www.primegrid.com/challenge/2017_challenge.php

2016年最終結果(総合8位) http://www.primegrid.com/challenge/2016_challenge.php

2015年最終結果(総合6位) http://www.primegrid.com/challenge/2015_challenge.php

2014年最終結果(総合4位) http://www.primegrid.com/challenge/2014_challenge.php

2013年最終結果(総合5位) http://www.primegrid.com/challenge/2013_challenge.php

2012年最終結果(総合4位) http://www.primegrid.com/challenge/2012_challenge.php

2011年最終結果(総合5位) http://www.primegrid.com/challenge/2011_challenge.php

2010年最終結果(総合4位) http://www.primegrid.com/challenge/2010_challenge.php

2009年最終結果(総合5位) http://www.primegrid.com/challenge/2009_challenge.php

2008年最終結果(総合57位) http://www.primegrid.com/challenge/2008_challenge.php

前回のチャレンジ成績
「International Bacon Day Challenge」(3 Sep 00:00:00 UTC - 6 Sep 00:00:00 UTC)

日本時間で言うと 2020年9月3日 09:00:00 から 9月6日 09:00:00 までの3日間

対象は「Proth Prime Search Extended LLR」(PPSE)

結果は12位でした。上位チームは以下の通り。

順位チームスコア獲得ポイント
International Bacon Day Challenge
1Antarctic Crunchers40,290,604.24500.0
2Ultimate Chaos23,885,436.79480.0
3Aggie The Pew21,685,036.09460.0
4Czech National Team19,767,852.40445.0
5SETI.Germany12,496,058.61430.0
6AMD Users9,474,301.88415.0
7[H]ard|OCP7,180,845.83400.0
8Team Norway4,010,491.05385.0
9BOINC@MIXI3,260,478.95370.0
10Sicituradastra.3,238,584.03360.0
11Crunching@EVGA2,924,996.20350.0
12Team 2ch2,566,382.14340.0
13UK BOINC Team2,136,337.74330.0

今度のチャレンジ [edit]

「Évariste Galois's Birthday Challenge」(20 Oct 06:00:00 UTC - 25 Oct 06:00:00 UTC)

日本時間で言うと 2020年10月20日 15:00:00 から 10月25日 15:00:00 までの5日間

いつもとは開始/終了時刻が異なりますので注意。

対象は「Fermat Divisor Search LLR」(PPS-DIV)

CPUのみ参加可能です。

PCに高負荷のかかるチャレンジです。しっかり熱対策しておかないとPCが壊れるなどの事故が発生するかもしれません。

LLRアプリはFMA3やAVX-512に対応して高速化しましたが、発熱も高くなっています。

事前に対象のタスクを試して温度をチェックして下さい。

なおAVX-512は、実行ユニットが1つしかない場合は逆に遅くなるという報告がされています。

マルチスレッドでの解析が推奨されています。各タスクのスレッド数はプリファレンスで設定できます。

ハイパースレッディングを利用すると所要時間が倍以上になる可能性があるため、ハイパースレッディングを切る事を強く推奨します。

それが出来ない場合はCPU使用率を50%に設定することをおすすめします。

チャレンジに参加しない人も、PCを長持ちさせる意味で熱対策しておくことをオススメします。

チャレンジ日程
http://www.primegrid.com/challenge/challenge.php

参加方法 [edit]

あなたのアカウントからログインして
PrimeGrid についての好みの設定(プリファレンス)」、「PrimeGrid プリファレンスを編集する」をクリックする。

プロジェクトの一覧(Applications)の中で解析対象だけにチェックを入れる。

一番下の「Send work from any subproject if selected projects have no work」のチェックは外しておく。

あとはチャレンジ期間中に配布された宿題(WU)を解析・提出すればよい。

スコアの対象となるのは、チャレンジ期間中に配布された宿題、かつ、期間内に解析し提出を終え有効と判定された宿題のみ。
フライングして取得・解析を始めても意味が無い。

高得点を狙いたい人は、チャレンジ開始と同時にPrimeGridに宿題を要求する。

(BOINC Managerの詳細表示でプロジェクトのタブを選び、PrimeGridを選んで更新を押す)
WCGなど、他のプロジェクトは一時停止させておくとPrimeGridに専念できる。

sousa_1.png

チャレンジ対策 [edit]

「きっちりチャレンジ開始時刻から始めたいけど、起きてられないよ…」「刺身の上にタンポポをのせる仕事に行っててPCの前にいられないお…」という人は

Windowsのタスクスケジューラを利用して、チャレンジ開始直後にPrimeGridを開始させる方法があります。
ただし、

  1. チャレンジが始まるまでにPrimeGridのタスクをすべて片付けておく。片付きそうにない場合は中止させる。

    新たに降ってこないようタスクの取得を禁止してから、片付けるか中止させる。

    チャレンジが始まれば自動で取得する設定に変わるので、タスクの取得禁止にしたままでよい。
  2. PCの電源は入れっぱなしにしておく。
  3. PCの時計を正しい時刻に合わせておく。

解析対象を選択しておく [edit]

まず、PrimeGrid (プライムグリッド)のサイトからログインして「PrimeGrid の好みの設定(preferences)」から「PrimeGrid プリファレンスを編集する」をクリックする。

チャレンジの対象となるプロジェクトのみ選択し、一番下の「Send work from any subproject if selected projects have no work」のチェックは外しておく。

PCの時刻の合わせ方 [edit]

(Windows XPの場合)

  1. Windowsのタスクバーに表示されている時刻をダブルクリック
  2. インターネット時刻のタブを選択
  3. 「今すぐ更新」を押す。サーバーは使用しているプロバイダのサーバーがベストだが、見当たらなければ国内の公開サーバーでいい。

(Windows Vista,7の場合)

  1. Windowsのタスクバーに表示されている時刻をクリック
  2. 日付と時刻の設定の変更をクリック
  3. インターネット時刻のタブ→設定の変更をクリック
  4. 「今すぐ更新」を押す。サーバーは使用しているプロバイダのサーバーがベストだが、見当たらなければ国内の公開サーバーでいい。

実際に真夜中に起動させるための準備 [edit]

自分のPCからPrimeGridを自動で起動させる準備をします。

バッチファイルの作成 (Windows XP以降 共通)

以下の例はWCGを止めてPrimeGridを開始させる内容なので、他のプロジェクトを止める場合は適宜読み替える。

PrimeGridだけしか参加していない人は

 SET URL_WCG=https://www.worldcommunitygrid.org/

 call :do_boinc %URL_WCG% suspend

 call :do_boinc %URL_WCG% update

の3行を削る。

まず、以下の内容をコピーして、テキストエディタなどで「primegrid-on.bat」というような名前で保存する。
保存場所は適当にBOINCフォルダあたりに突っ込んでおく。

保存するときに「primegrid-on.bat.txt」という名前で保存されることがあるので、

 WindowsXPの場合はフォルダのメニューバーから「ツール」を選んで「フォルダオプション」

 Windows7の場合は「コントロールパネル」から「フォルダーオプション」

そこから「表示」タブを選び「登録されている拡張子は表示しない」のチェックを外す。

「primegrid-on.bat.txt」になっていたら「primegrid-on.bat」に変更する。(「拡張子を変更すると…」という警告が出るが無視してよい)

@echo off

SET URL_WCG=https://www.worldcommunitygrid.org/

SET URL_PRIME=https://www.primegrid.com/



REM boinccmdコマンド一覧

REM 再開 | 一時停止 | 更新 | 取得開始 | 取得禁止

REM resume | suspend | update | allowmorework | nomorework



call :do_boinc %URL_WCG% suspend

call :do_boinc %URL_WCG% update



call :do_boinc %URL_PRIME% resume

call :do_boinc %URL_PRIME% allowmorework

call :do_boinc %URL_PRIME% update



exit /b 0



REM boinccmd発行

:do_boinc

"%ProgramFiles%\BOINC\boinccmd" --project %1 %2

goto :eof

BOINCのインストールフォルダを変更している場合は、"%ProgramFiles%\BOINC\boinccmd"の部分を自分の環境に合わせて変更しておく。

正常に作成できたかどうかテストしてみたい人は

  1. PrimeGridを一時停止させ、さらにタスクの取得禁止にする。
  2. 出来上がった「primegrid-on.bat」をダブルクリックして実行してみる。
  3. PrimeGridが再開し、新たにタスクを取得するように変わっていればOK。逆に、WCGの方は一時停止になってるはず。

これでバッチファイルの作成は完了。これをチャレンジ開始の時間になったら起動するように設定する。

(Windows XPの場合)

  1. 「スタート」の「コントロールパネル」から「タスク」を選ぶ。
  2. 「スケジュールされたタスクの追加」を選び、「次へ」
  3. 「参照」から、先ほど保存した「primegrid-on.bat」を選ぶ。
  4. 「1回だけ実行」で開始日時・時刻を設定する。(もちろん日本時間で)
  5. ユーザー名の下のパスワードは入力せずに次へ
  6. 「完了をクリックしたときに…」にチェックを入れて、完了を押す
  7. ここで警告が出るがキニシナイ
  8. 「ログオンしている場合にのみ実行する」と、その下の「実行する」にチェックを入れてOKを押す

(Windows 7の場合)

  1. 「スタート」の「コントロールパネル」から「管理ツール」を選ぶ。
  2. 「タスク スケジューラ」を開く
  3. ウィンドウ右側の方に「操作」「タスク スケジューラ」という項目があるので、そこから「タスクの作成」を選ぶ
  4. タスクの名前を適当につけておく(PrimeGridチャレンジ用など)
  5. 「トリガー」タブを選び「新規」、チャレンジ開始日時・時刻を設定する(もちろん日本時間で)
  6. 設定で「1回」、詳細設定で「有効」にチェックが入っていることを確認して「OK」を押す
  7. 「操作」のタブを選び「新規」、「参照」から、先ほど保存した「primegrid-on.bat」を選ぶ
  8. 「OK」を押して操作のダイアログを閉じる
  9. もう一回「OK」を押してタスクの作成も閉じる

(Windows 10の場合)

  1. 「スタート」を右クリックして「コンピュータの管理」を選ぶ
  2. 「タスク スケジューラ」を右クリックして「基本タスクの作成」を選ぶ
  3. 「名前」を適当に入力して(PrimeGridチャレンジ用など)「次へ」を押す
  4. 「一回限り」を選択して「次へ」を押す
  5. 「開始」にチャレンジの開始日付と時刻を(もちろん日本時間で)設定して「次へ」を押す
  6. 「プログラムの開始」を選択して「次へ」を押す
  7. 「参照」から、先ほど保存した「primegrid-on.bat」を選んで「次へ」を押す
  8. 「トリガー」にチャレンジの開始日時、「操作」に「プログラムの開始」と先ほど保存した「primegrid-on.bat」が設定されていることを確認する
  9. 「完了」を押す
  10. 設定を確認したい場合は「タスク スケジューラ」を開いて「タスク スケジューラ ライブラリ」を選び、先ほど入力した名前のタスクを探す
    ※表示されていない場合はF5キーを押した後に探してみる

あとはチャレンジが始まる前にPCの電源を入れっぱなしにしておけば、自動で開始されます。
おやすみなさい。Good Night…

チャレンジ終了後 [edit]

チャレンジ期間中に宿題が終わらなかった場合ですが、そのまま続ける気が無ければ、BOINCマネージャーから「中止」してください。

※中止は、PrimeGridを「タスクの取得禁止」した後に行います。

中止した場合にはすぐに他の人にその宿題が再配布されますが、宿題を残したままでプロジェクトの離脱などを行うと、期限切れまでその宿題は誰にも実行されなくなってしまいます。

また、大量に宿題を余らせないよう、宿題のキャッシュを絞ったり、進行状態を計算してチャレンジ終了前に宿題の取得を禁止したりしましょう。

チャレンジ終了前に、自動で新しいタスクの取得禁止と報告をする(Windowsの場合) [edit]

先ほどのバッチファイルを使うやり方で、取得禁止と解析が終わった宿題の報告ができる。
解析が終わっていても、報告しないとスコアとして認められない(らしい)。

以下の内容をコピーして、テキストエディタなどで「primegrid-end.bat」というような名前で保存する。

PrimeGridの新しいタスクの取得禁止・報告と、WCGの解析再開をするものだが、WCGを再開しない場合は call :do_boinc %URL_WCG% resume の行を削る。

PrimeGridで終っていない宿題の解析は続くので解析を一時停止させておく場合は call :do_boinc %URL_PG% update の下に

call :do_boinc %URL_PG% suspend

解析を止めて宿題も捨てたい場合は

call :do_boinc %URL_PG% detach

を追加する。

@echo off

SET URL_WCG=https://www.worldcommunitygrid.org/

SET URL_PG=https://www.primegrid.com/

call :do_boinc %URL_WCG% resume

call :do_boinc %URL_PG% nomorework

call :do_boinc %URL_PG% update



exit /b 0



:do_boinc

"%ProgramFiles%\BOINC\boinccmd" --project %1 %2

goto :eof

これをチャレンジ終了前に起動するように設定する。終了直前はサーバーが混み合うこともあるので、終了1~2分前に起動するように設定するといいかもしれない。

これまでのチャレンジの成績 [edit]

2020年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
International Day of Education Challenge2020/01/24 00:00:00-2020/01/24 23:59:591 day321-Sieve3,153,715.3414240.0
Year of the Rat Challenge2020/03/12 06:00:00-2020/03/17 06:00:005 daysSR5-LLR5,258,265.6314400.0
Sophie Germain's Birthday Challenge2020/04/01 12:00:00-2020/04/04 12:00:003 daysSGS-LLR2,062,133.6516300.0
Alan Turing's Birthday Challenge2020/06/23 22:00:00-2020/06/26 22:00:003 daysPPS-Sieve60,192,576.0015310.0
Katherine Johnson Memorial Challenge2020/07/24 20:00:00-2020/07/31 20:00:007 daysTRP-LLR6,386,180.8715465.0
International Bacon Day Challenge2020/09/03 00:00:00-2020/09/06 00:00:003 daysPPSE-LLR2,566,382.1412340.0
Évariste Galois's Birthday Challenge2020/10/20 06:00:00-2020/10/25 06:00:005 daysPPS-DIV
Magellan 500th Anniversary Challenge2020/11/18 18:00:00-2020/11/28 18:00:0010 daysCUL-LLR,
WOO-LLR
Great Conjunction Challenge2020/12/24 13:22:00-2020/12/31 13:22:0010 daysGFN-18,
GFN-19,
GFN-20
2020年 総合成績2055.0

 

2019年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
Conjunction of Venus & Jupiter Challenge2019/01/07 05:43:00-2019/01/22 05:43:0015 daysSoB-LLR8,572,461.1313742.5
Year of the Pig Challenge2019/03/05 18:00:00-2019/03/10 18:00:005 daysGCW-LLR1,826,077.2513412.5
Hans Ivar Riesel's 90th Birthday Challenge2019/05/24 00:00:00-2019/05/31 00:00:007 daysTRP-LLR3,432,726.9416450.0
50th Anniversary of the Moon Landing Challenge2019/07/15 20:17:00-2019/07/20 20:17:005 daysPPS-LLR3,358,956.9412425.0
Lennart Vogel Honorary Challenge2019/08/03 00:00:00-2019/08/10 00:00:007 daysESP-LLR3,103,407.5215465.0
Oktoberfest Challenge2019/09/21 11:00:00-2019/09/26 11:00:005 daysAP2717,615,351.0016375.0
World Maths Day Challenge2019/10/10 18:00:00-2019/10/15 18:00:005 daysPPS-DIV5,077,002.0113412.5
50 years First ARPANET Connection Challenge2019/10/24 00:00:00-2019/10/29 00:00:005 days321-LLR5,644,058.2213412.5
Transit of Mercury Across the Sun Challenge2019/11/01 18:04:00-2019/11/11 18:04:0010 daysPSP-LLR9,154,062.4014640.0
Aussie, Aussie, Aussie! Oi! Oi! Oi! Summer Solstice Challenge2019/12/12 04:19:00-2019/12/22 04:19:0010 daysGFN-21,
GFN-22,
GFN-DYFL
40,604,225.2619540.0
2019年 総合成績124,875.0
2018年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
Happy New Year Challenge2018/01/01 00:00:00-2018/01/01 16 00:00:0015 daysSoB-LLR7,533,409.9914720.00
Year of the Dog Challenge2018/03/16 18:00:00-2018/03/16 23 18:00:007 days321-LLR2,476,031.4214480.00
Mathematics Awareness Month Challenge2018/04/03 12:00:00-2018/04/03 08 12:00:005 daysESP-LLR1,604,122.9311437.50
World Cup Challenge2018/06/14 00:00:00-2018/06/14 19 00:00:005 daysSR5-LLR1,888,386.6613412.50
Solar Eclipse Challenge2018/08/10 18:00:00-2018/08/10 13 18:00:003 daysPPS-LLR800,758.9113330.00
Oktoberfest Challenge2018/09/15 18:00:00-2018/09/15 22 18:00:007 daysCUL-LLR2,521,592.7913495.00
Halloween Challenge2018/10/24 23:59:59-2018/10/24 31 23:59:597 daysWOO-LLR1,677,798.1513495.00
Leonids Shower Challenge2018/11/17 12:00:00-2018/11/17 20 12:00:003 daysAP272,211,521.0019270.00
Winter Solstice Challenge2018/12/11 22:23:00-2018/12/11 21 22:23:0010 daysGFN-2133,824,250.9413660.00
2018年 総合成績124,300.00
2017年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
Isaac Newton's Birthday Challenge2017/01/03 00:00-2017/01/18 18:0010 daysGCW-Sieve13,000,665.0713660.00
Mathematics Awareness Month Challenge2017/04/07 12:00-2017/04/22 12:0015 daysPSP-LLR9,690,097.108866.30
PrimeGrid's Birthday Challenge2017/06/12 00:00-2017/06/13 00:001 daySGS-LLR458,726.268385.00
Solar Eclipse Challenge2017/08/20 18:00-2017/08/23 18:003 daysGCW-LLR606,239.8915387.50
Number Theory Week Challenge2017/09/03 18:00-2017/09/08 18:005 days321-LLR1,693,737.3611525.00
Diwali/Deepavali Challenge2017/10/18 00:00-2017/10/23 00:005 daysTRP-LLR2,640,839.6813495.00
Pierre de Fermat's Birthday Challenge2017/11/17 12:00-2017/11/20 12:003 daysGFN-15,
GFN-16,
GFN-17-Low
2,378,517.9816375.00
Winter Solstice Challenge2017/12/21 16:28-2017/12/24 16:283 daysPPS-Sieve31,181,750.0016375.00
2017年 総合成績114,068.80
2016年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
Makar Sankranti Challenge2016/01/07 18:00-2016/01/15 18:008 daysGFN-17 MEGA,
GFN-18~GFN-22
17280973.418770.00
From Pi to Paddy Challenge2016/03/14 03:14:15-2016/03/17 03:14:153 daysSR5-LLR1249730.378481.30
Cullen Birthday Challenge2016/04/19 18:00-2016/04/28 18:009 daysWOO-LLR, CUL-LLR2312387.6612765.00
Summer Solstice Challenge2016/06/20 22:34-2016/06/25 22:345 daysPPS-Mega1968744.4310540.00
Summer Olympics Challenge2016/08/02 21:00-2016/08/05 21:003 daysTRP-Sieve1895600.4813412.50
Summer Paralympics Challenge2016/09/02 18:00-2016/09/07 18:005 daysESP-LLR1573910.6310540.00
World Space Week Kickoff Challenge2016/10/03 18:00-2016/10/04 18:001 daysSGS-LLR225910.5718280.00
Wallis is Born Challenge2016/11/18 18:00-2016/11/23 18:005 daysAP2710164102.009555.00
Winter Solstice Challenge2016/12/18 10:44-2016/12/21 10:443 daysPPS-Sieve46550139.007500.00
2016年 総合成績84843.80
2015年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
Year of the Sheep Challenge2015/01/03 18:00-2015/01/11 18:008 daysSoB LLR
PSP LLR
ESP LLR
4728243.408770.00
Solar Eclipse Challenge2015/03/15 07:41-2015/03/20 07:415 daysSR5 LLR2820512.916622.50
World Expo Challenge2015/04/23 18:00-2015/05/01 18:008 daysGFN WR
GFN Short
13713835.3910720.00
PrimeGrid Birthday Challenge2015/06/12 18:00-2015/06/15 18:003 daysSoB/PSP/ESP Sieve3419783.259462.50
Perseid Shower Challenge2015/08/10 18:00-2014/08/12 18:002 daysTRP Sieve1100981.2910414.50
Reign Record Challenge2015/09/10 18:00-2014/09/15 18:005 daysCUL LLR1371847.627600.00
World Animal Day Challenge2015/10/04 18:00-2015/10/07 18:003 daysTRP LLR1952881.047600.00
Leonids Shower Challenge2015/11/12 18:00-2015/11/17 18:005 daysSGS LLR813357.648481.25
Winter Solstice Challenge2015/12/19 04:48-2015/12/22 04:483 daysPPS Sieve31596383.007500.00
2015年 総合成績65170.75
2014年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
Year of the Horse - Stallion Edition Challenge
Year of the Horse - Pony Express Challenge
2014/01/03 18:00-2014/01/18 18:0015 daysGFN WR
GFN Short
68570532.51
33150974.12
2
4
2880.00
1780.00
Double Top Secret Mystery Challenge2014/03/01 18:00-2014/03/16 18:0015 daysPSP LLR14707290.2541780.00
Shakespeare's Birthday Challenge2014/04/20 16:16-2014/04/23 16:163 daysPPS LLR2525134.615537.50
Race to the New Moon Challenge2014/05/20 19:43-2014/05/28 19:438 daysCUL LLR5203690.156830.00
Sovereign Challenge2014/06/25 18:00-2014/06/28 18:003 daysSR5 LLR1346302.418481.25
Perseid Shower Challenge2014/08/12 18:00-2014/08/14 18:002 daysTRP Sieve1911819.659426.00
World Animal Day Challenge2014/10/14 18:00-2014/10/19 18:005 daysTRP LLR2513647.557600.00
Leonids Challenge2014/11/19 18:00-2014/11/24 18:005 days321 LLR2727017.657600.00
Saint Nicholas' Challenge2014/12/05 00:00-2014/12/06 00:001 daysSGS LLR438729.217400.00
Winter Solstice Challenge2014/12/18 23:03-2014/12/21 23:033 daysPPS Sieve65417626.004556.25
2014年 総合成績410871.00
2013年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
Year of the Snake2013/01/04 18:00-2013/01/17 18:0013 daysGFN Short34019708.5441223.75
Valentine's Day2013/02/14 18:0024 hoursSGS LLR1225642.446415.00
Equinox2013/03/17 11:02-2013/03/22 11:025 daysPPS LLR13283755.904667.50
Low Country Festivities2013/04/29 18:00-2013/05/06 18:008 daysWoo LLR4880952.554890.00
Father's Day2013/06/14 18:00-2013/06/17 18:003 daysSR5 LLR3390319.376518.75
Perseid Shower2013/08/12 18:00-2013/08/14 18:002 daysTRP Sieve3541567.726480.00
World Animal Day2013/10/04 18:0024 hoursTRP LLR3556167.599555.00
Leonids2013/11/14 18:00-2013/11/19 18:005 days321 LLR5266304.035645.00
Winter Solstice2013/12/18 17:11-2013/12/21 18:003 daysPPS Sieve68920095.004556.25
2013年 総合成績55951.25
2012年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
Year of the Dragon2012/01/23 18:00-2012/01/28 18:005 daysPPS LLR6466598.495645.00
Leap Day
(トラブル多発のため参考記録)
2012/02/29 18:0024 hoursCW Sieve6268636.003460.00
Marie-Sophie Germain2012/04/01 18:00-2012/04/03 18:002 daysSGS LLR719983.725498.00
Cinco de Mayo2012/05/05 18:00-2012/05/10 18:005 daysTRP LLR9026135.206622.50
Alan Turing Year2012/06/20 23:09-2012/06/23 23:093 daysGFN4501257.974556.25
Olympics2012/08/03 18:00-2012/08/05 18:002 daysTRP Sieve1421791.553534.00
An Apple a Day2012/10/05 18:0024 hoursPPS LLR1034477.296415.00
321 Blast Off2012/11/01 18:00-2012/11/09 18:008 days321 LLR100686117.853920.00
Winter Solstice2012/12/18 11:11-2010/12/21 11:113 DaysPPS Sieve54593345.004556.25
2012年 総合成績44747.00
2011年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
Year of the Rabbit2011/02/03 18:00-2011/02/06 18:003 daysPPS LLR1087020.596218.75
World Maths Day2011/03/01 18:0024 hoursTRP Sieve420034.107165.00
Marie-Sophie Germain2011/04/01 18:00-2011/04/03 18:002 daysSGS LLR485828.186218.75
Cinco de Mayo2011/05/05 18:00-2011/05/13 18:008 daysTRP LLR10850036.945277.50
PrimeGrid's Birthday/Summer Solstice2011/06/21 17:1624 hoursCW Sieve5786788.984200.00
Dog Days of Summer2011/08/26 18:00-2011/08/28 18:002 daysPPS LLR695538.875231.25
Equinox2011/09/23 18:00-2011/10/06 18:0013 DaysWOO LLR44185728.125370.00
Leonids2011/11/18 18:00-2011/11/23 18:005 days321 LLR31769523.694300.00
Winter Solstice2011/12/19 05:30-2010/12/22 05:303 DaysPPS Sieve40273337.004250.00
2011年 総合成績52231.25
2010年 チャレンジ名日付(UTC:日本時間では+9時間)期間解析対象クレジット順位獲得ポイント
Year of the Tiger2010/02/14 18:00-2010/02/17 18:003 daysPPS LLR1015168.025231.25
Ides Of March2010/03/15 18:0024 hoursPSP Sieve275852.1113114.00
Earth Day2010/04/22 18:00-2010/04/30 18:008 days321 LLR29369637.806262.50
PrimeGrid's Birthday/Summer Solstice2010/06/16 11:28-2010/06/21 11:285 daysTRP Sieve2605120.007247.50
Full Moon2010/07/25 18:0024 hoursPPSE LLR158958.446175.00
Dog Days of Summer2010/08/20 18:00-2010/08/22 18:002 days321 Sieve779735.479181.25
Calendula2010/09/24 18:00-2010/10/07 18:0013 DaysPSP LLR28185074.575370.00
Leonids2010/11/17 18:0024 hoursSGS LLR250087.277165.00
Winter Solstice2010/12/18 18:00-2010/12/21 23:383d5h38mPPSE Sieve37851869.004250.00
2010年 総合成績41996.50
※PrimeGrid's Birthday/Summer Solsticeは当初、解析対象がAP26であったが4月に発見されたため変更となった。
2009年 チャレンジ名日付期間解析対象クレジット順位獲得ポイント
Year of the Ox2009/01/26-2009/01/315 days321 LLR2228536.69944.0
Ides Of March2009/03/1524 hoursPPS LLR68095.251021
Showers to Flowers2009/04/29-2009/05/0148 hoursPSP Sieve141469.591721.0
PrimeGrid's Birthday/Summer Solstice2009/06/12-2009/06/219 daysPSP LLR5904009.21575.0
New Moon2009/07/2124 hoursAP2684967.231219
Dog Days of Summer2009/08/18-2009/08/235 daysWoodall LLR3610340.83480.0
Harvest Festival2009/10/02-2009/10/0348 hoursPPS LLR341443.74390.0
Giving Thanks2009/11/1324 hoursPSP Sieve281674.77530
Winter Solstice2009/12/18-2009/12/213 daysAP 261313558.87736.0
2009年 総合成績5416.0
2008年 チャレンジ名日付期間解析対象クレジット順位獲得ポイント
The Ides Of March2008/03/1524 hoursPSP Sieve1780.01292
The Drive for Five2008/05/15-2008/05/3117 days321 LLR169101.96332
PrimeGrid's Birthday (12 June 2005)2008/06/1224 hoursTPS LLR1292.51256
Lunar Landing2008/07/18-2008/07/203 daysPSP Sieve4160.67500
Dog Days of Summer2008/08/22-2008/08/243 days321 LLR28585.47470
Back to the Future2008/09/13-2008/09/2714 daysWoodall LLR94409.71460
Prime Time (取消)2008/11/14-2008/11/1648 hoursPPS LLR64.29(非公式)58-
Prime Time (仕切り直し)2008/11/28-2008/11/3048 hoursPPS LLR5428.13480
(取消)2008/1224 hours(未定)---
Winter Solstice2008/12/17-2008/12/214 daysPSP Sieve12422.13570
2008年 総合成績5710.0

素数の発見について [edit]

素数の発見者になるためには [edit]



素数の発見者となるのは最初に計算を終えた人(Primary checker)です。2番目の人はdouble-checkerとして掲載されます。つまり宿題を受け取って計算を終了し結果を送信するまでの一連の作業が遅い方は必然的に、いくら計算を続けても素数発見者にはなり難いです。当然処理能力の高いハードウエアが有利です。特にGPUではその傾向が顕著です。

タスクを表示させ、「計算済、検証済み (1st)」と表示されるものがPrimary checkerを獲得した宿題です。「計算済、検証済み」と表示されるものはdouble-checkerになってしまった宿題です。

宿題を手元に貯めず、受信後ただちに計算を始め、途中に電源offなど挟めず計算終了まで連続して計算させることが、Primary checkerになるコツです。

ただし、宿題は同時に2人に配布される訳ではなく、数分~数時間の差があるのが普通です。処理能力の高いハードウエアを持っていても、宿題を受け取る時間が遅ければ不利となりますのでPrimary checkerを独占できるわけではありません。

また、長時間かかるサブプロジェクトは、途中で計算を放棄されることが多く、宿題が再配布である頻度が高いという問題があります。ダウンロードした宿題が誰かキャンセルした再配布の宿題であるかどうかは、計算を終えるまで確認する方法はありません。

例として、Aさんが1月1日に宿題開始したが1月5日に放棄してキャンセル。Bさんも1月1日に宿題を受信して1月4日に終了。Aさんがキャンセルしたことにより、同じ宿題が1月5日にCさんに再配布されCさんが高速に処理して1月5日中に結果をアップロードした場合などです。Cさんにしてみれば、普通の人が数日かかる宿題を僅か1日かからずに終わったことになりますが、実はCさんが計算を始める前からCさんがdouble-checkerとなることは決まっていたのです。AさんとBさんにはそれが分かりますが、計算しているCさんに秘匿され、計算が終わったときに初めて自分がやっていた宿題は、Aさんが途中放棄した宿題で最初からPrimary checkerにはなりえないものだったと分かるのです。

なお、プログラム名前にSieveと付いているものは素数発見のプログラムではなく、その前段階の処理(ふるい分け)ですので、素数発見者にはなりません(間接的に協力する形にはなりますが・・・)。

時間帯による揺らぎもあります。チェコスロバキアなどPrimeGrid のハードユーザーの参加が多い時間帯は、Primary checkerになれる頻度は低下します。

「ワークユニットの詳細」を確認すると、Primary checkerになれなかった理由を知ることができます。具体的には・・・・

  • 自分に宿題が配布された時間が遅かった(時間差があった)。
  • 単純に相手のパソコンのスペックが優れていた(相手が悪かった)。
  • CPUの場合、1つの宿題に割り当てたCPUコア数が少なかった。(設定が悪かった)。
  • 受け取った宿題が、誰かがキャンセルした再配布の宿題だった。(運が悪かった)。

などが確認できます。

運営側による調整 [edit]

処理速度の速いハードウエアを所有するなどして、一定割合以上のPrimary checkerを確保するようになると、突然連続してキャンセルされた宿題ばかり送られるようになります。PPSEやgenefer15の場合、連続30個のキャンセルされた宿題が送られることもあります。これによって、Primary checkerの割合が低下すると、再び普通の宿題が送られるようになります(ただし断続的に)。

処理能力の違う複数のPCを運用していると、本来最も性能の良いPCのPrimary checker率が伸び悩み、2番目や3番目のPCの方がPrimary checker率が高くなることがありますが、それはこの「運営側による調整」(妨害とも)によるものです。Primary checkerにならなかった宿題を確認してみてください。

最新かつ200WクラスのGPUなど、高価なPCを運用している人がPrimary checkerを独占していると思われるかしれませんが、現実はこの「運営側による調整」のために、高スペックPCでもPrimary checker率は30-60%程度に留まります(もし再配布宿題がなければPrimary checker率は80-90%になりますが)。

むしろ、2世代前のPCなどといった中途半端なスペックのPCのほうが、「運営側による調整」の影響を免れ、Primary checker率が60-80%を維持することが多いです。

下記は同一日同一日時(2020年春頃)のGFN-15でのPrimary checker率です。本来なら圧倒的な性能を持つAMD Radeon 5700XT(FP32が8.986 TFLOPS;225W)が、1/6の性能しかないNvidia GTX750TI(FP32 1.389 TFLOPS;50w)に劣るPrimary checker率となっています。

  • Radeon HD7770 34.6%
  • Radeon RX560  47.4%
  • Nvidia GTX750TI 55.1%
  • Radeon HD7790 57.1%
  • Nvidia GTX1060 72.4%
  • Radeon 5700XT 53.1%

ただし、これは割合の話です。処理能力は単純比較で、5700XTはGTX750TIの6倍ありますので、多少「運営による妨害」によってPrimary checker率が悪くても、一定時間に量産されるPrimary checkerを獲得した宿題の数は、5700XTの方が優れます。

CPUについて [edit]

CPUについては、高性能なCPUを準備することは当然重要なことですが、宿題を処理する設定によって、Primary checkerになれる可能性は大きく変動します。HTをオフにするのは当然ですが、何コアを使って宿題を計算するかというのは、どういったCPUなのか、どのサブプロジェクトなのかで、ベストな設定は異なります。4コア5GHZのPCと20コア2GHZのPCでは、その戦略は別物となります。当然、参加するサブプロジェクトも厳選することになり、そのサブジェクトの処理の重さに適した設定が求められます。

そのプロジェクトに割くCPUコアの数が多いほど計算時間は短縮され、例えば4倍のコアを動員すると処理時間は1/4+αの時間で終了します(※1/4にはなりません)。処理の重いプロジェクトでは、1つのプロジェクトに12-18コアを振り分ける参加者もおられます。軽い処理のプロジェクトでは、大量のCPUコアを割り振っても期待する処理時間短縮効果は得られません。

CPUの種類ですが、巨大素数の発見に拘りがなければ、インテルCore2QUAD9550(4コア4スレド2.83GHZ)くらいが実用になる限度となります(2020年5月現在)。それ以下のスペックでも解析は出来ますが、負荷の軽いサブプロジェクトでもPrimary checkerを獲得するのは難しいでしょう(Core2QUAD6600だと相当厳しい)。もちろん、この下限は年々上がっていくと思われます。

GPUについて [edit]

GPUについては、設定で対策できることは少なく上記に書き尽くされています。高性能なGPUを用意するのが何よりも望まれます。正直なところ、最新かつ消費電力200WオーバーのGPUに、普及帯や古いGPUで勝つのは困難です。特に解析時間の短いサブプロジェクトはもちろんですが、処理時間の長いサブプロジェクトも高性能GPUの土壇場であり、普及機帯や少し古いGPUでは全く太刀打ちできません。

Double-checkerになってばかりで心折れるという場合は、Sieveでの功績値稼ぎに方針転換する、CPUだけの運用に徹するというのも悪くない選択枝となります。

また、高価なGPUを羨む気持ちも湧くとは思いますが、そのようなGPUは電気代の負担もバカにならないということも忘れてはなりません。高スペックなハードウエアは購入すればゴールではなく、購入したあとに電気代や発熱と向き合って初めて結果が得られるのです。購入してはみたものの、あまりの発熱と電気代(と騒音)に閉口して使用を手控える、クロックや電圧を下げて使うということも、よくある話です。室温が上がるので、真冬でも冷房を入れるというバカげた行為も必要になったりします。

早く素数を発見するためには [edit]

桁数の少ない素数でも構わないので、とにかく早く素数を発見したいという人は、CPUではPPSEやSGSといった処理時間の短いサブプロジェクトを選んでください。GPUではGFN(n=15)が適しています。

処理した宿題が5000個を超えてくると、やがて素数が発見されるようになります。例えばインテル Corei5-4590sといった2020年現在だとお世辞にも速いとは言えないCPUでも、PPSEだと1時間に12個、1日に288個の宿題が出来る訳ですから、20-30日間ほどで素数が発見できてもおかしくない時期となり、あとは何割くらい最初に計算を終えているかという問題となります。

巨大な素数を探すためには [edit]

データベースに登録名が公開されるのは、40万桁以上の巨大な素数だけです。100万桁以上の素数であった場合は、公報に「氏名・日時・使用したPC・処理時間」などが掲載されます。100万桁以上の素数は494個(2020年5月現在)が登録されています。

http://primegrid.com/primes/mega_primes.php

桁数の大きな素数を発見するのは、処理時間も長くなり、その発見頻度も低く、難易度が高くなります。ただ単純に素数を発見したいという人と、巨大素数を発見したいという人では、参加すべきサブプロジェクトは異なります。

巨大な素数を探すためには、PPSEやSGSといった短時間で終了するサブプロジェクトでは無理です。GPUでもGFN Prime Search (n=15)では、30万桁より少ない素数しか発見できません。

Prime Sierpinski Problem/Woodall Prime Search/321 Prime Search/Generalized Cullen/Extended Sierpinski Problemなどのサブプロジェクトで大きな素数が発見されています。GPUによる解析でも数多く発見されています(n=22など)。詳しくは公式リザルトやサブプロジェクトについて詳しく記載された他サイトを参照してください。

ハードウエアですが、これはもう実際に巨大素数を実際に発見された方がどのような機材を使っておられるかを確認していただいた方が良いでしょう。

2020年5月に3638450^524288+1という巨大素数を発見した方の使用機材は下記でした。

GeForce? RTX 2070 in an AMD Ryzen 7 3700X 8-Core Processor with 16GB RAM

やはり、巨大素数を探す方は、この程度の機材レベルのことが多いです。もちろんGPUでの解析を行わないなら、GPUはオンダイのGPU機能でも問題ありません。

素数報告の代行許可 [edit]

The Prime Pagesのトップリストに載るような素数を発見したときには、登録している電子メールアドレスに連絡が来ます。

迷惑メールとして扱われないよう、ホワイトリストへ primegrid.com ドメインを設定しておきましょう。

PrimeGrid についての好みの設定(プリファレンス)より、'Reporting primes to the Prime Pages' の項目の

'Permission is given to PrimeGrid to report primes under my name'のチェックボックスを選択して、

'Report primes as (name and last name)' (登録時に使う発見者名)もきちんと入力します。

こうしておけばPrimeGrid側で代わりにThe Prime Pagesへの登録作業を行ってくれて、あなたには事後報告のメールが来ます。

チェックをしないと電子メールにて登録の確認の連絡が来ます。

「自分の情報で発見者として登録するのは面倒」であれば上のように設定し、PrimeGridに代行して貰うようにしましょう。

「名無しのままでいたい」等の場合は上記の、 'Permission is given to PrimeGrid to report primes under my name' のチェックボックスを非選択にしましょう。

その後巨大な素数を見つけてしまっても、PrimeGridからのメールを無視さえすれば、他人に権利がうつりますので、面倒なことに巻き込まれずに済むかもしれません。

※そもそもLLRのプロジェクトを選択しない、という手もあります:P

メールを放置すると下記のような経過をたどります。

Team 2chでの実例 [edit]

2009年7月25日に「Cullen Prime Search」によって、6679881·2^6679881+1という素数(2,010,852桁)が発見された。
これは発見時点において、

  1. 最大のカレン素数であった
  2. PrimeGridの中でも最大の素数であった
  3. LLRを利用して発見された最大の100万桁超の素数であった
  4. 素数全体の中でも15番目に大きい素数であった

という記録的なものだった。

しかし、発見者(Team 2chメンバー)と連絡が取れなかったため、この素数を発見したという名誉は素数であることを確認したスウェーデン人のものとなった。

公式アナウンス(PDF:英文) 日本語訳は下に掲載した

6679881·2^6679881+1を実際に2,010,852桁の数字で表したもの(PDF)

2011年2月21日に3*2^7033641+1(2,117,338桁)が発見されるまで、6679881·2^6679881+1 がPrimeGrid内で発見された最大の素数であった。

6679881·2^6679881+1が発見された際の公式アナウンス 日本語訳 [edit]

PrimeGridの管理者に「PrimeGridのコンテンツは日本語に訳しちゃっても問題ないっすかね?」と聞いたら

「問題ないぜ!自由に使ってくれ!オレたちはオープンだぜ!」との返事だったので訳してみた。

細かいところで誤訳してる部分があるかもしれないが、許してくだしあ。

公式アナウンス (PDF:英文)

PrimeGrid's Cullen Prime Search (PrimeGrid のカレン素数探索)

2009年7月25日 1:11:48(日本時間 同日 10:11:48)に PrimeGrid の Cullen Prime Searchで世界記録となる100万桁超のカレン素数が発見されました。

6679881*2^6679881+1

この素数は、PrimeGridにおいて現在までの中で最大の素数です。

2,010,852桁の長さがあり、Chris Caldwellの "The Largest Known Primes Database"(http://primes.utm.edu/primes )(大きい素数のデータベース)において全体で15番目に入ります。

発見されているカレン素数の中では最大の数であり、またLLRを利用して発見された最大の100万桁超の素数です。

これは、日本人のある名無しさんが Windows XP Professional で Intel Xeon L5420 @ 2.50GHz のCPUと 6 GB のメモリを使用して発見されました。

このコンピュータで、素数の判定に約71時間58分かかりました。

これが素数であると確認されたのは2009年8月1日 12:48:56(日本時間 同日 21:48:56)のことです。

スウェーデンの Magnus Bergman が Windows XP Professional でIntel Core2 Duo E6750 @ 2.66GHz のCPUと 3 GB のメモリを使用して確認されました。

このコンピュータで、素数の判定に約33時間51分かかりました。

この二重チェックにより、Magnus が発見者として素数の歴史に名を刻むことになりました。最初の発見者からは返事が無かったんだもん。

発見の名誉は、次の方々に与えられます。

1. Magnus Bergman (スウェーデン) 発見者

2. PrimeGrid

3. MultiSieve (Mark Rodenkirch によって開発された素数候補抽出プログラム)

4. GCWsieve (Geoff Reynolds によって開発された素数候補抽出プログラム)

5. LLR (Jean Penne によって開発された素数判定プログラム)

"The Largest Know Primes Database"への収録は、ここで確認できます。
http://primes.utm.edu/primes/page.php?id=89536

これはカレン素数としては16番目に発見されたものであり、PrimeGridでは2つ目です。カレン数は、1905年にReverend Jamesによって最初に研究が行われました。

カレン素数は Cn = n*2^n+1 という形になっています。

Cnが素数となるのは n = 1, 141, 4713, 5795, 6611, 18496,32292, 32469, 59656, 90825, 262419, 361275, 481899, 1354828, 6328548, 6679881 のときです。

1台のPCでこの素数を見つけるには何年もかかるでしょう。

だから、何千人ものボランティアがCPUサイクルを割いてくれなければこの発見は成し得なかったことでしょう。

この探索にアドバイスをくれた方、コンピュータの力を分けてくださった方、特にこのような発見を可能にし、

影で支えてくださったすべてのsieve(ふるい分け=素数候補抽出)の参加者に特別に感謝の意を表したいと思います。

PrimeGrid の Cullen Prime Search は、より大きな素数を見つけるためにまだまだ続きます。
参加希望者はこちらまで。 PrimeGrid: http://www.primegrid.com

PrimeGridについて
PrimeGrid は Rytis Slatkevicius によって開発された、BOINC と PRPNet で素数探索を行えるようにする分散コンピューティングのプロジェクトです。

PrimeGridの第一の目的は、「毎日」コンピュータを使う人が素数を発見する面白さをもたらすことにあります。ソフトウェアをダウンロードして、PCを放っておくだけです。

参加者は探索する素数の種類を選ぶことができます。ほんのちょっとだけ根気強くやれば、より大きな素数が、

もしかしたら記録を破るような素数でさえ発見できるかもしれません。

BOINC
The Berkeley Open Infrastructure for Network Computing (BOINC) はボランティアさんのコンピュータ資源を分散コンピューティングに用いるためのソフトです。

1つのプログラムを通して、様々な分散コンピューティングに参加できるようになります。

現在の BOINC は David Anderson 率いるカリフォルニア大学バークレー校のチームを中心にして開発され続けています。

このソフトは現在、生物学から数学、天文学のプロジェクトまでサポートしています。
より詳しい情報はこちらまで。 BOINC: http://boinc.berkeley.edu

PRPNet
PRPNet は Mark Rodenkirch によって開発された、素数の候補である数字が本当に素数であるかの判定を管理し処理できるようにする分散クライアント・サーバーアプリケーションです。

PRPNetクライアントは素数判定にLLR, Phrot, または PFGW を使用しています。

より詳しい情報は、PrimeGrid 内にある PRPNet のフォーラムのスレッドまで。
https://www.primegrid.com/forum_thread.php?id=1215

PrimeGridについてもっと詳しい情報、現在参加可能な素数探索のプロジェクトの完全なリストはこちらまで。 http://www.primegrid.com

コメント [edit]

コメントはありません。 Comments/PrimeGrid?

お名前:

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-10-05 (月) 00:45:23 (15d)