Folding@homeコアのリスト

Folding@homeの分散コンピューティングプロジェクトは、FahCores(ファーコア)またはCore(コア)と呼ばれる科学的なコンピュータプログラムを使用して計算を実行する。Folding@homeのコアは、, GROMACS, AMBER, , SHARPEN, ProtoMol, などの計算用分子シミュレーションプログラムの修正・最適化されたバージョンに基づいている。これらの種類には、それぞれ任意の識別子(Core xx)が与えられている。同じコアを様々なバージョンのクライアントで使用することができるが、コアをクライアントから分離することで、クライアントの更新なしに必要に応じて科学的手法を自動的に更新することができる。

## 使用されているコア
これらのコアは、現在プロジェクトで使用されている。

### GROMACS

* Core a7
** Windows、Linux、およびmacOSで利用可能で、利用可能な場合はAdvanced Vector Extensionsを使用することで、大幅な速度改善が可能である。
*Core a8
**Windows、Linux、およびmacOS、ARMで利用可能で、Gromacs 2020.5を使用している。

### GPU
グラフィックス・プロセシング・ユニットのコアは、分子動力学を行うために、新しいビデオカードのグラフィックスチップを使用する。GPU Gromacs コアは Gromacs の真の移植ではなく、Gromacs の主要な要素を取り入れ、GPU機能のために強化したものである。

#### GPU3
これらは第3世代のGPUコアで、パンデGroupが独自に開発した分子シミュレーション用のオープンライブラリであるOpenMMをベースにしている。GPU2のコードをベースにしているが、安定性と新機能が追加されている。

* core 22
** OpenCLおよびCUDAを使用したAMDとNVIDIA GPU用のWindowsとLinuxに対応している(利用可能な場合)。OpenMM 7.4.2を使用している。

## 使用されないコア
これらのコアは、時代遅れになりつつあるために引退しているか、一般的なリリースの準備ができていないため、現在プロジェクトでは使用されていない。

### TINKER
は、分子力学と分子動力学のための完全かつ一般的なパッケージを備えた分子動力学シミュレーションのためのコンピュータ・ソフトウェア・アプリケーションであり、生体高分子のためのいくつかの特別な機能を備えている。

* Tinker core (Core 65)
** 最適化されていない単一プロセッサコアで、AMBERコアとGromacsコアが同じタスクをはるかに高速に実行するため、これは公式に引退した。このコアは Windows、Linux、Mac で利用可能であった。

### GROMACS

* GroGPU (Core 10)
** Windows 上で動作する ATI  で利用可能。ほとんどが Gromacs ベースであるが、コアの一部が書き換えられた。 このコアは、第二世代のGPUクライアントへの移行に伴い、2008年6月6日をもって引退した。
* Gro-SMP (Core a1)
** Windows x86、Mac x86、Linux x86/64クライアントで利用可能で、これはSMPバリアントの第一世代であり、プロセス間通信にMPIを使用していた。 このコアは、スレッドベースの SMP2 クライアントへの移行により、引退した。
* GroCVS (Core a2)
** x86 Mac および x86/64 Linux でのみ利用可能なこのコアは、MPI の使用など、同じコアベースの多くを使用しているため、Core a1 と非常によく似ている。 しかし、このコアはより最近の Gromacs コードを利用しており、特大のワークユニットなどのより多くの機能をサポートしている。 スレッドベースの SMP2 クライアントへの移行に伴い、正式に引退した。
* Gro-PS3
** SCEARD コアとしても知られているこのバリアントは、2012年11月に引退するまで Folding@Home クライアントをサポートしていた PlayStation 3 ゲームシステム用のものである。このコアは、GPUコアと同様に暗黙の解法計算を実行するものだが、CPUコアと同様に明示的な解法計算を実行することもでき、柔軟性に欠ける高速GPUコアと柔軟性に欠ける低速CPUコアの中間的な役割を果たしていた。 このコアは最適化にSPEコアを使用していたが、SIMDはサポートしていなかった。
* Gromacs (Core 78)
** これはオリジナルのGromacsコアで、現在はユニプロセッサ・システムクライアントのみが利用可能で、Windows、Linux、macOSをサポートしている。
* Gromacs 33 (Core a0)
** Windows、Linux、およびmacOSの単一プロセッサクライアントでのみ利用可能なこのコアは、Gromacs 3.3のコードベースを使用しているため、より幅広いシミュレーションを実行することができる。
* Gromacs SREM (Core 80)
** このコアは、REMD(Replica Exchange Molecular Dynamics)やGroST(Gromacs Serial replica exchange with Temperatures)とも呼ばれるシリアルレプリカ交換方式をシミュレーションに使用しており、WindowsとLinuxの単一プロセッサクライアントのみで利用できる。
* GroSimT (Core 81)
** このコアは、温度を定期的に上げたり下げたりすることでサンプリングを向上させることを基本的な考え方としており、シミュレーテッドテンパリング(simulated tempering)を行う。 これにより、Folding@homeは、タンパク質の折り畳まれた状態と折り畳まれていない状態の間の遷移をより効率的にサンプリングできるようになる。 WindowsとLinuxの単一プロセッサクライアントでのみ利用可能である。
* DGromacs (Core 79)
** 単一プロセッサクライアントで利用可能なこのコアは、サポートされているSSE2プロセッサの最適化を使用しており、Windows、Linux、およびmacOSで実行できる。
* DGromacsB (Core 7b)
** Core 79 とは異なり、いくつかの科学的な機能が追加されている。 2007年8月にLinuxプラットフォームのみにリリースされたが、最終的にはすべてのプラットフォームで利用できるようになる予定である。
* DGromacsC (Core 7c)
** Core 79に非常に似ており、2008年4月にLinuxとWindows向けにWindows、Linux、macOSの単一プロセッサクライアント向けにリリースされた。
* GB Gromacs (Core 7a)
** Windows、Linux、macOS上のすべての単一プロセッサクライアントでのみ利用可能である。
* GB Gromacs (Core a4)
** Windows、Linux、macOS で利用可能なこのコアは、2010年10月初旬にリリースされ、2010年2月現在、最新バージョンの Gromacs v4.5.3 を使用している。
* SMP2 (Core a3)
** 次世代のSMPコアであるこのコアは、プロセス間通信にMPIの代わりにスレッドを使用し、Windows、Linux、macOSで利用可能である。
* SMP2 bigadv (Core a5)
** a3に似ているが、このコアは通常よりも大きなシミュレーションを実行するために特別に設計されている。
* SMP2 bigadv (Core a6)
** a5コアの新しいバージョン。

### CPMD
カー・パリネロ分子動力学法(Car-Parinello Molecular Dynamics)の略で、このコアは第一原理計算(*ab-initio*)の量子力学的分子動力学を実行する。力場アプローチを用いる古典的な分子動力学計算とは異なり、CPMDではエネルギー、力、運動の計算に電子の運動が含まれる。 量子化学計算は、非常に信頼性の高いポテンシャルエネルギー面が得られる可能性があり、自然にマルチボディ相互作用を組み込むことができる。

* QMD (Core 96)
** これはWindowsとLinuxの単一プロセッサクライアント用の倍精度バリアントである。 このコアは、主要な QMD 開発者である Young Min Rhee が 2006 年に卒業したため、現在は "保留" となっている。 このコアは、かなりの量のメモリを使用することができ、「オプトイン」を選択したマシンでのみ利用可能であった。 Intel CPU上でのSSE2最適化がサポートされている。 IntelライブラリとSSE2が関係するライセンス問題のため、AMD CPUにはQMD Work Unitは割り当てられていなかった。

### SHARPEN

* SHARPEN Core
** 2010年初頭、Vijay Pandeは「SHARPENは今のところ保留にしている。申し訳ないが、ETAはない。それをさらに推し進めるかどうかは、その時の科学的ニーズに大きく依存している」と語った。 このコアは標準的なF@Hコアとは異なるフォーマットを使用しており、クライアントに送信される各ワークパケットには1つ以上の「ワークユニット」(通常の定義を使用)が含まれている。

### Desmond
このコアのソフトウェアは、で開発された。 Desmondは、従来のコンピュータクラスタ上で生物系の高速分子動力学シミュレーションを実行する。 このコードは、新しい並列アルゴリズムと数値計算技術を用いて、多数のプロセッサを含むプラットフォーム上で高い性能を実現しているが、単一のコンピュータ上でも実行することができる。  Desmondとそのソースコードは、大学やその他の非営利の研究機関が非商業的に利用するために無償で提供されている。

* Desmond Core
** Windows x86とLinux x86/64で利用可能で、このコアは現在開発中である。

### AMBER
Assisted Model Building with Energy Refinementの略で、AMBERは分子動力学のための力場のファミリーであり、これらの力場をシミュレートするソフトウェアパッケージの名前でもある。 AMBERはもともとカリフォルニア大学サンフランシスコ校のPeter Kollmanによって開発され、現在は様々な大学の教授によって管理されている。 倍精度AMBERコアは現在SSEやSSE2で最適化されていないが、AMBERはTinkerコアよりも大幅に高速で、Gromacsコアでは実行できない機能も追加されている。

* PMD (Core 82)
** WindowsとLinuxの単一プロセッサクライアントでのみ利用可能である。

### ProtoMol
は、分子動力学(MD)シミュレーションのためのオブジェクト指向、コンポーネントベースのフレームワークである。ProtoMolは、高い柔軟性、容易な拡張性とメンテナンス、並列化を含む高い性能要求を提供する。 2009年には、Pandeグループはノーマルモード・ランジュバン・ダイナミクス(Normal Mode Langevin Dynamics)と呼ばれる補完的な新しい手法に取り組んでいたが、これは同じ精度を維持しながらシミュレーションを大幅に高速化できる可能性を秘めていた。

* ProtoMol Core (Core b4)
** Linux x86/64およびx86 Windowsに対応している。

### GPU

#### GPU2
これらは第2世代のGPUコアである。引退したGPU1コアとは異なり、ATI CAL対応の2xxx/3xxx以降のシリーズとNVIDIA CUDA対応のNVIDIA 8xxx以降のシリーズのGPU向けのバリアントである。

* GPU2 (Core 11)
** x86 Windowsクライアントでのみ利用可能。 AMD/ATIが利用していたプログラミング言語のサポートを終了し、OpenCLに移行したため、2011年9月1日頃までサポートされていた。このため、F@hはATIのGPUコアコードをOpenCLで書き換えることを余儀なくされ、その結果、Core 16となった。
* GPU2 (Core 12)
** x86 Windowsクライアントでのみ利用可能。
* GPU2 (Core 13)
** x86 Windowsクライアントでのみ利用可能。
* GPU2 (Core 14)
** このコアはx86 Windowsクライアントでのみ利用可能で、2009年3月2日に正式にリリースされた。

#### GPU3
これらは第3世代のGPUコアで、パンデ・グループが独自に開発した分子シミュレーション用のオープンライブラリであるOpenMMをベースにしている。GPU2のコードに基づき、安定性と新機能が追加されている。

* GPU3 (core 15)
** x86 Windowsのみで利用可能。
* GPU3 (core 16)
** x86 Windowsのみで利用可能。 新しいv7クライアントと一緒にリリースされ、これはOpenCLでCore 11を書き換えたものである。
* GPU3 (core 17) 
** OpenCLを使用したAMDとNVIDIA GPU用のWindowsとLinuxで利用可能。OpenMM 5.1のため、パフォーマンスが大幅に向上している。
* GPU3 (core 18)
** OpenCLを使用したAMDおよびNVIDIA GPU用のWindowsで利用可能。このコアは、Core17のいくつかの重要な科学的問題に対処するために開発され、OpenMM 6.0.1の最新技術を使用している。 現在、一部のAMDおよびNVIDIA Maxwell GPU上では、このコアの安定性とパフォーマンスに問題がある。このため、一部のGPUでは、このコア上で動作するワークユニットの割り当てが一時的に停止されていいる。
*GPU3 (core 21)
** OpenCLを使用したAMDとNVIDIA GPU用のWindowsとLinuxで利用可能。OpenMM 6.2を使用しており、Core 18 AMD/NVIDIAのパフォーマンス問題を修正している。

## 脚注



## 外部リンク
* Main F@h Core FAQ
* GROMACS Core FAQ
* AMBER Core FAQ
* PROTOMOL Core FAQ
* QMD Core FAQ