Micronet Techno

SOLUTIONS TO CHANGE THE FUTURE

バイオインフォマティクス(生命情報学)

GPGPUイメージ
GPUを利用した科学技術計算

遺伝子研究を行なう国立大学の教育機関から、遺伝子の解析を行なうプログラムをスーパーコンピューターを使わずに実行できるよう、チューニングしてほしいと依頼がありました。バイオインフォマティクス分野における、高度な計算処理を行なうプログラムはC++のマルチスレッド化Windows→LinuxへのOSの変更、高速なCPUを搭載するワークステーションなどを導入しましたが、論理処理時間が60日→30日とチューニング効果があるものの、処理時間がなかなか現実的ではなく、私たちはさらに高速に処理できないかを模索していました。そこで私たちが着目したソリューションはGPUを利用したソリューションでした。

GPUによる実績

本ソリューションを採用する事により、研究を成功させられたお客様から論文の掲載許可をいただきましたので、ご紹介をさせて頂きます。
論文の中にもGPUの活用における、処理の高速化とコスト効果が記載されております。

  • 論文1:
  • Ueki M, Tamiya G.
    Ultrahigh-dimensional variable selection method for whole-genome gene-gene interaction analysis.
    BMC Bioinformatics.
    2012 May 3;13:72.
    doi: 10.1186/1471-2105-13-72.

    論文を参照
  • 論文2:
  • Ueta M, Tamiya G, et al.
    Epistatic interaction between Toll-like receptor 3 (TLR3) and prostaglandin E receptor 3 (PTGER3) genes.
    J Allergy Clin Immunol.
    2012 May;129(5):1413-1416.e11.
    doi: 10.1016/j.jaci.2012.01.069.

    論文を参照
       

    何故GPUを採用したか?

    私たちは、CPU上でプログラムの並列処理をしてきました。並列処理とは、プログラムを並行で複数実行し、処理能力を高める技術です。並列処理は沢山プログラムを並行して実行すれば処理能力が向上するわけではなく、並列できる能力は、PCのCPUのコアに依存して変化します。CPUのコア数が多いCPUを複数搭載したPCで処理を実行すれば処理は早くなりますが、そのやり方は時間的にもコスト的にも限界があります。

    そこで、私たちが着目したのは、GPGPUというグラフィックボード(GPU)を計算処理に利用する方法でした。
    GPUはCPUと異なり、非常に沢山のコアを備えており、その数はCPUよりも何千倍ものコアを保有している事になります。
    沢山のコアを備えているということは、プログラムを同時に、より多く実行でき、処理が高速化することになります。 CPUとGPUの比較
    GPUがいかに超並列計算処理に優れているか、CPU vs GPUという面白いビデオがNVIDIA社から提供されています。
    以下の動画(Youtube)をご覧ください。

    ソリューション

    採用したGPUと言語

    私たちは、GPUに関してはCUDAという言語に対応した安価なGPUによってPOC(性能評価)を行ないました。結果は非常に良好で、CPUよりもかなり処理時間が短縮できることが解りました。最終的には、NVIDIA社のTeslaというGPUとCUDA、CPU側のプログラムはC++という組み合わせを採用しました。

    現在、CUDAはCPUとGPUの利用メモリが別々であったことによる、各メモリ間のデータ転送時間がかかるというデメリットを解消する為に、Unified Memoryというテクノロジーが利用出来るとの事です。GPUを利用したソリューションは、今後さらに処理の高速化が期待されています。 Nvidia Tesla テクノロジ

    GPUを採用した効果

    当初想定していたよりもかなりの処理時間を短縮することが出来ました。最終的には、1440時間(60日)かかっていた処理をGPUを導入することで、6時間程度で処理する事が出来ました。大きな計測ポイントは4回ありましたが、CPUのチューニングフェーズによるIntel Compiler とXeon Processorを2台搭載した16Threadによる、720時間(30日)からGPUのTesla C2050を4台搭載したマシンとCUDAを利用したところ、6時間という処理時間は、実に120倍もの処理高速化を果たした素晴らしい事例でした。 処理結果グラフ
    GPUソリューションによって得られた効果
    ・数十倍、数百倍単位での処理高速化
    ・CPUの増加よりも安価なコストで構築が可能
    ・デスクトップレベルのサイズでも超高性能

    お問合せはこちらから