Case Studies

GeoTeric

GeoTeric® 采用 Incredibuild 实施持续集成及测试,加速了 NVIDIA 的 CUDA,并将构建时间从 2 小时缩短到 11 分钟。

GeoTeric®概述

GeoTeric® 是唯一完整的 Cognitive Interpretation™ 系统,能够让您在进行解释之前看到地震数据中的地质状况。该系统提供了从数据调节到描绘构建 3D 模型所需的地质要素的交互式工作流程。

GeoTeric® 是一个主要采用 C++ 开发、运行在 Windows 和 Linux 平台上的桌面应用程序,拥有利用 NVIDIA 公司的 CUDA 进行并行处理的能力。

难点

该程序有超过 35000 个 C++ 文件和 200 万行代码,构建耗时两个小时。

GeoTeric® 希望实施自动化测试和持续集成等敏捷开发实践,以加速开发过程,提高质量,同时尽可能保持灵活性。由于复杂的代码库和冗长的构建时间,他们无法实施这些需要在在合理时间内完成运行的开发实践。他们想要运行自动化测试,但必须缩短构建时间,才能实现。

在实施 Incredibuild 之前,该团队进行过完全手动的临时集成和测试。

如果我们不实现快速构建,我们就不能保持竞争力。如果我们不具备快速集成周期,我们的开发过程将太慢,且无法进行创新和交付。Incredibuild 有助于推动我们向前发展。我们的敏捷性和增加新功能的速度,是我们保持业务竞争力的核心要素。

Chris Preston

首席软件工程师

解决方案

在采用 Incredibuild 之前,编译耗时过长,团队无法实施自动化测试。他们希望开发人员尽可能多地运行测试周期,且希望实现快速集成。

在试用 Incredibuild 后,该开发团队发现,Incredibuild易于使用和实施,所以他们很快进行实施并投入使用。

实施了 Incredibuild 之后,该团队成功实施了自动化测试。他们开始运行 2000 – 3000 个单元测试,并实施了持续集成。即使是 2000 – 3000 个单元测试(以前没有),构建时间也缩短至了不到 15 分钟。这一构建速度大约快了 8 倍!

在处理地震数据时,质量是核心要素。该团队通过实施 Incredibuild,从而能够频繁地运行测试周期,并每天运行 10 – 20 次构建,以每小时进行两次的频率集成至中央持续集成服务器——JetBrain 的 TeamCity。

实施 Incredibuild 后,他们的构建时间从每天 2 小时(不运行任何测试)缩短至了仅仅几分钟,但这一构建时间还包括运行几千个针对复杂的 C++ 遗留代码库的自动化测试。

GeoTeric 利用 NVIDIA 的 CUDA 并行处理能力创造他们的创新产品。CUDA® 是由 Nvidia 发明的并行计算平台和编程模式。它能够通过利用图形处理单元(GPU)的处理能力大幅增加计算性能。

使用 Incredibuild 之前,CUDA 编译需要 10 – 20 分钟。实施 Incredibuild 之后,CUDA 编译时间降至了仅仅 3 分钟——缩短了 80%!

实施 IncrediBuild 带来的益处

  • 改善了代码质量。他们能够实施以前不存在的自动化测试。
  • 从临时测试和集成转变成了一个系统性、结构化的方法
  • 实施了持续集成
  • 由于速度更快,从而节省了宕机时间
  • 速度和迭代时间更快,从而能够进行创新并且更快地交付给客户

结果概要

总构建时间
2小时
11分钟
CUDA® 编译
15分钟
3分钟