CUDA 程式也將可以在 x86 CPU 上執行?nVIDIA 和 PGI 發表 CUDA-x86


nVIDIA 現在正在舉辦 GPU Technology Conference 2010 的大拜拜,所以這幾天應該會有不少 nVIDIA GPU 相關的消息出來;像是 nVIDIA GPU 的 roadmap,也已經簡單地發表了,不過目前網路上能找到的資料不多。基本上就是在 2011 會有 codename 為 Kepler 的新的 GPU(28nm)、2013 會有 Maxwell,兩者主要的目的都是要提升單位耗電量下的浮點數計算能力;可以參考《NVIDIA reveals Fermi’s successor: Kepler at 28nm in 2011, Maxwell in 2013》一文。

而另一個對於程式開發者來說或許比較大的消息,就是 nVIDIA 和 PGI 共同發表了 CUDA-x86,準備讓 CUDA 程式進軍 x86 CPU 了!Heresy 看到的消息來源是《NVIDIA teams with PGI for CUDA-x86, gifts its brand of parallelism to the world》,目前在 nVIDIA 官方網站還沒找到任何相關消息,不過在 PGI 網站倒是可以看到新聞稿了~

該新聞稿是《PGI to Develop Compiler Based on NVIDIA CUDA C Architecture for x86 Platforms》,新聞稿內容摘錄如下:

The Portland Group®, a wholly-owned subsidiary of STMicroelectronics and the leading independent supplier of compilers for high-performance computing, today announced it is developing a CUDA C compiler targeting systems based on the industry-standard general-purpose 64- and 32-bit x86 architectures. The new PGI CUDA C compiler for x86 platforms will be demonstrated at the SC10 Supercomputing conference taking place in New Orleans, LA, November 13-15, 2010.

The NVIDIA CUDA architecture was developed to enable offloading computationally intensive kernels to massively parallel GPUs. Through function calls and language extensions, CUDA gives developers explicit control over the mapping of general-purpose computational kernels to GPUs, as well as the placement and movement of data between an x86 processor and the GPU.

The PGI CUDA C compiler for x86 platforms will allow developers using CUDA to compile and optimize CUDA applications to run on x86-based workstations, servers and clusters with or without an NVIDIA GPU accelerator. When run on x86-based systems without a GPU, PGI CUDA C applications will use multiple cores and the streaming SIMD (Single Instruction Multiple Data) capabilities of Intel and AMD CPUs for parallel execution.

“CUDA C for x86 is a perfect complement to CUDA Fortran and PGI’s optimizing parallel Fortran and C compilers for multi-core x86," said Douglas Miles, director, The Portland Group. “It’s another important element in our on-going strategy of providing HPC programmers with development tools that give PGI users a full range of options for optimizing compute-intensive applications, while allowing them to leverage the latest technical innovations from AMD, Intel and NVIDIA."

“In less than three years, CUDA has become the most widely used massively parallel programming model," said Sanford Russell, general manager of GPU Computing software at NVIDIA. “With the CUDA for x86 CPU compiler, PGI is responding to the need of developers who want to use a single parallel programming model to target many core GPUs and multi-core CPUs."

簡單講,就是 PCI 正在開發一個 CUDA C 的編譯器(PGI CUDA C compiler for x86 platforms?),目標是目前最普遍的 32 位元/64 位元 x86 處理器;而在今年 11 月的 SC (Supercomputing conference) 將會展示這個編譯器。透過 PGI 的這套 CUDA C 編譯器,開發者可以使用 CUDA C 開發出可以在多核心 x86 電腦上執行的程式,而不需要有 nVIDIA 的 GPU。

雖然目前看來,如果要讓 CUDA 程式能在 CPU 上跑還需要特殊的編譯器重新編譯過,並非現有的 CUDA 程式可以直接用,不過至少應該會是一個可以用的方案了!


對「CUDA 程式也將可以在 x86 CPU 上執行?nVIDIA 和 PGI 發表 CUDA-x86」的想法

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料