技術交流

資通投資組合管理系統,迅速掌握商品風險全貌

張元鴻 張元鴻
Tags:GPUGPGPUCUDA圖像處理衍生性金融商品

什麼是 GPU?

GPU 原名為圖像處理單元(Graphics Processing Unit),為顯示卡中用以處理圖形的計算單元。GPU 在生活中已經非常廣泛的被使用,例如在現在主流電影都提供 3D 的版本,各種各樣的視覺特效,電腦遊戲或 3D 建模等都使用到了 GPU 做加速運算。

為了呈現出足夠逼真的影像,必須使用非常細緻的 3D 模型,包含大量的頂點與網格,並對空間中光影的呈現做大量的計算模擬;因此,需要處理非常大量的浮點數運算。GPU 正是被設計來處理這類的計算需求,GPU 透過大量被設計來平行計算的小核心,同時處理大量的浮點數運算,來產生順暢或逼真的影像。

nVidia Siggraph 2015
左邊是真的電鑽,右邊則為電腦模擬產生的圖像,幾乎已無法分清差異。來源:nVIDIA

GPU 到 GPGPU

在科學計算的領域中大量的計算需求不一定和圖形處理有所關係,因此開始有了 GPGPU(General-purpose computing on graphics processing units)的概念,利用 GPU 來處理本來應該藉由 CPU 處理的計算工作。2007 年 nVidia 正式發表了其 GPGPU 的平行計算架構「CUDA」,用以加速各個領域所需要用到的龐大計算。在這樣的架構下,僅僅是一般有支援 CUDA 的顯示卡,就可以使用 CUDA 開發,大大的提升了使用 GPU 開發的便利性,使得平行計算不再是一件難事。而使用 CUDA 亦可有效降低建置大型計算叢集的成本,例如 NVIDIA GTX 750,便擁有 512 個 CUDA 運算核心,購置的成本僅不到 5000 元,因此已被非常多軟體開發者,科學家,金融產業所採用。

EVGA GTX 750
EVGA GTX 750。來源:https://tw.evga.com/articles/00821/
NVIDIA TESLA GPU 加速器
NVIDIA TESLA GPU 加速器。來源:nVIDIA

CUDA 與金融計算的相遇

經過幾年的進展,GPU 的計算能力更顯成熟,現今的 GPU 產品已經能高效的實現雙倍精度的浮點數計算,因此在金融計算領域部分,已經逐漸被使用。 Numerix 和 CompatibL 兩家公司宣佈,加入 CUDA 的支援之 Numerix 7 分析工具─交易對手風險(Counterparty Risk)應用,已被超過 375 家金融機構所採用。這項金融衍生性商品訂價應用程式透過 NVIDIA 繪圖處理器,目前已為複雜的訂價模型運算提升了 18 倍效能。

NAG(Numerical Algorithms Group)也與牛津大學合作,針對一系列在金融計算過程進行 GPU 加速運算的運用並提供套件使用。包含多維度偽亂數產生器、由布朗橋產生多維度布朗運動機制、Cholesky 分解和 LU 分解等功能。另外,Bloomberg 已經使用 GPU 來加速債券商品的評價,法國的 BNP Paribas 也使用 GPU 做衍生性金融商品評價。

GPU 與資通

資通電腦致力於為國內開發一套完整的金融衍生性商品評價系統,首創的智慧圖形評價工具中亦率先導入了 CUDA 來加速金融衍生性商品的評價,包含「美式商品」或「多資產投資組合評價」。近期的成果顯示導入 GPU 後對一個超過四十個標的物之美式一籃子選擇權進行評價則花費時間少於一小時,而已原有架構單純使用 64 核心的計算叢集則需 8 小時以上,速度提昇非常顯著。

結語

GPU 帶來的計算效能的大幅提昇,過去需要建置非常龐大的計算叢集才能完成的計算,現今已經可以在單一主機上建置同等級的計算平台。金融衍生性商品評價所需要的龐大計算在 GPU 的幫助下,將可導入過去因計算太過繁複的好算法例如機器學習的一些算法,金融計算將邁入不同於以往的新紀元,而資通亦將參與其中。