GeoTeric

継続的インテグレーションとテスト、NVIDIA CUDAのプロセスを高速化、ビルド時間を2時間から11分に短縮

Geoteric_logo

GeoTeric® について

GeoTeric® は、唯一の Cognitive Interpretation™ システムであり、解釈前の地震データの地質を確認することができます。GeoTeric®は、主にC++で開発されたデスクトップアプリケーションで、NVIDIAのCUDA並列処理を利用して、WindowsとLinuxプラットフォーム上で利用されています。

課題

GeoTeric社の課題は、35,000以上のC++ファイルと200万行以上のコードで、ビルドの実行に2時間を要していたことでした。

同社は、自動テストやCIなどのアジャイル開発技術を導入し、開発のスピードアップと品質の向上を目指していました。しかしながら、複雑なコードベースである上にビルドに長時間かかっていたため、これらの開発手法を実装できませんでした。自動テストの実行も検討しましたが、それにはビルド時間の短縮が必須でした。

Incredibuild導入前は、チームはアドホックな開発とテストを完全に手動で行っていました。

「高速ビルドなしに競争力を維持することはできません。開発サイクルを高速化しないと、開発の進捗に遅延をきたします。それではイノベーションを起こして製品を提供もすることができません。Incredibuildは、当社を前進させるのに役立っています。当社のビジネスを競争力のあるものにしているのは、新機能を追加するための機敏性とスピードです。」

Chris Preston

Principal Software Engineer, GeoTeric

Incredibuildの導入

Incredibuild導入前は、コンパイルに時間がかかりすぎていて自動テストを実装できませんでした。開発チームは、できるだけ頻繁にテストサイクルを実行したいと考えており、迅速な改善を望んでいました。

Incredibuildを試してみると、使いやすく実装も簡単であることが分かり、すぐに立ち上げて高速処理を実行することができました。

開発チームは自動テストの導入に成功。Incredibuildを、2,000~3,000 個のユニットテストの実行、そして継続的インテグレーションに利用しました。以前は試すこともできなかった2,000~3,000個のユニットテストも、ビルド時間は驚異の15分以下に短縮されました。およそ8倍の速さです。

地震データを扱う場合、高品質であることが不可欠です。Incredibuild を導入することで、テストサイクルの頻度が上がり、1日に10~20回ビルドを実行し、CIサーバーJetBrainのTeamCityから1時間に2回処理を実行できるようになりました。

Incredibuild導入直後から、1 日 2 時間のビルドが数分にまで短縮されました。現在では、複雑な C++ コード上で何千もの自動テストにも、Incredibuildは利用されています。

GeoTeric社は、革新的な製品を生み出すためにNVIDIA CUDAを利用しています。CUDA®は、NVIDIA社によって開発された並列コンピューティング・プラットフォームとプログラミング・モデルです。CUDA®は、グラフィックス・プロセッシング・ユニット(GPU)のパワーを利用することで、コンピューティング・パフォーマンスを飛躍的に向上させることができます。

Incredibuildを使用する前は、CUDAのコンパイルに10~20分かかっていました。Incredibuildを導入してからは、CUDAコンパイルにかかる時間がわずか3分に短縮され、80%の時間短縮に成功しました。

  • コード品質が向上し、今までなかった自動テストの導入に成功
  • アドホックなテストや開発から、体系的で構造化されたアプローチへ
  • 継続的インテグレーションの導入
  • 高速化によるダウンタイムの短縮
  • イノベーションを起こし、高品質な製品を顧客に届けることが可能に

Incredibuild時間

  • ビルド時間合計

    11 mins
    2 hours
  • CUDA®コンパイル

    3 mins
    15 mins
With Incredibuild
Without Incredibuild