1. 程式人生 > >GPU程式語言選擇(OpenCL、CUDA 與C++ AMP)

GPU程式語言選擇(OpenCL、CUDA 與C++ AMP)

       其實在C++ AMP之前已經有了兩個異構程式設計框架:CUDA與OpenCL。CUDA(Compute Unified Device Architecture)是顯示卡廠商Nvidia於2007年推出的業界第一款異構並行程式設計框架。在Nvidia的大力支援下,CUDA擁有良好的開發環境,豐富的函式庫,優秀的效能。但是CUDA只能被用於在Nvidia的顯示卡上進行異構程式設計,有先天的侷限性。OpenCL (Open Computing Language) 是業界第一個跨平臺的異構程式設計框架。它是Apple領銜並聯合Nvidia,AMD,IBM,Intel等眾多廠商於2008年共同推出的一個開放標準,由單獨成立的非營利性組織Khronos Group管理。與C++ AMP類似,OpenCL作為一個開放的標準,並不侷限於某個特定的GPU廠商,從這點上來看,Nvidia自己獨家的CUDA顯得很封閉。我們可以把OpenCL在異構程式設計上的地位與OpenGL和OpenAL類比,這兩個標準分別用於三維圖形和計算機音訊。

相關推薦

GPU程式語言選擇OpenCLCUDA C++ AMP

       其實在C++ AMP之前已經有了兩個異構程式設計框架:CUDA與OpenCL。CUDA(Compute Unified Device Architecture)是顯示卡廠商Nvidia於2007年推出的業界第一款異構並行程式設計框架。在Nvidia的大力支援下,CUDA擁有良好的開發環境,豐富的

Python-面向對象組合封裝多態

ret 繼續 鴨子類型 繼承 抽象類 self 之前 分享 ldb 一、組合 什麽是組合? 就是一個類的屬性 的類型 是另一個自定義類的 類型,也可以說是某一個對象擁有一個屬性,該屬性的值是另一個類的對象。 通過為某一個對象添加屬性(這裏的屬性是另一個類的對象)的方式

leetcode 118. Pascal's Triangle ArrayListList思路難

Given a non-negative integer numRows, generate the first numRows of Pascal’s triangle. In Pascal’s tr

HBase權威指南學習記錄hbaseMapReduce整合

新增依賴: <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifact

Python環境搭建安裝驗證卸載

完整 系統設置 手動配置 直接下載 style img 電腦管家 地址 下載安裝 電腦系統版本 :Win8.1/64位 Python官網地址:www.python.org Python安裝版本:3.7.2 本文目錄: 一、Python的安裝 二、驗證Py

三種主流無線同屏技術介紹MiracastDLNAAirPlay技術

不知道大家對無線同屏技術有多少了解,當這種技術普及的時候,我想我們的工作與生活又會方便很多吧!下面是目前三種主流同屏技術的介紹: 目前這種將終端訊號經由WiFi傳輸到電視、電視盒的技術有三種:DLNA

PostScript語言教程介紹

scrip 方式 生成 語言教程 有著 曲線 方向 大量 運算 一、介紹 POSTSCRIPT語言是打印機頁面魔術的一種程序設計語言。他擁有著廣泛的圖形操作,並且可以以任意方式,包含變量,函數,以及過程的任意組合 。 POSTSCRIPT頁面描述是由解析器運行的程序(gs)

PostScript語言教程繪圖

true sep lineto 我們 move tor 正方 script div 3.1、畫線 線 newpath 144 72 moveto 144 432 lineto stroke showpage 我們首先調用newpath,初始化當畫筆狀態。 x y m

常用SQL語言概述DDLDMLDQL

oracle sql ddl dml dcl 眾所周知,SQL(Structure Query Language)是數據庫的核心語言,近段時間學習數據庫,部分基礎概念有點模棱兩可,今天索性把這幾個常用的SQL概念簡單記錄下以作區分。分類:DDL:數據定義語言(CREATE、DROP、ALT

GO語言學習開發工具

LiteIDE LiteIDE 是一款開源、跨平臺的輕量級 Go 語言整合開發環境(IDE)。 支援的 作業系統 Windows x86 (32-bit or 64-bit) Linux x86 (32-bit or 64-bit) 下載地址 :http://sourceforge.ne

GO語言學習安裝

下載地址:http://www.cnblogs.com/osfipin/p/4856839.html。 官方教程說明: Windows 對於Windows使用者,Go專案提供兩種安裝選項(從原始碼安裝除外): zip壓縮包需要你設定一些環境變數,而實驗性MSI安裝程式則會自動配置

四大機器學習程式語言對比:RPythonMATLABOctave

圖源:Pixabay.com GitHub 地址:https://github.com/mjbahmani/10-steps-to-become-a-data-scientist  R 語言 R 是一種用於統計計算和圖的語言及環境。它是一個 GNU 專案,與貝爾實驗室的

PostScript語言教程坐標變換

默認 物理 長度 wpa class 根據 然而 time 都是 6.1、坐標系變換 POSTSCRIPT圖形操作是在一個坐標系中,這個坐標系被稱為用戶坐標系或用戶空間,該坐標系獨立於任何物理設備。POSTSCRIPT在用戶空間中進行繪制,並將結果傳輸到特定的打印機設備(

PostScript語言教程條件語句

POSTSCRIPT語言中有許多操作符用於制定程式內流的控制。我們在前一章使用了一個repeat運算。所有的控制操作符都使用了之前簡要提到的物件型別,即函式,用於我們呼叫。 7.1、函式 函式(既過程)是一個數組,其內容由解析器執行。 當解析器在程式中遇到一系列物件(值和名稱)時,它執行與這些指令相應的

什麼是函數語言程式設計副作用純函式引用透明

    副作用的概念:一個帶有副作用的函式不僅只是簡單的返回一個值,還幹了一些其他的事情,比如: 修改一個變數 直接修改資料結構 設定一個物件的成員 丟擲一個異常或以一個錯誤終止 列印到終端或讀取使用者的輸入

微信小程式 非同步阻塞Promiseresolve,await,then

1.呼叫的的函式 獲取使用者資訊(new Promise(function (resolve, reject)   resolve({ data: ‘xxxx’ });) /** * 獲取openid資訊 * add by wp 20180906 */

C# Winform軟體多語言漢語英語。。。介面的切換,低耦合

最近做程式需要用到多語言版本的問題,在網上收集了一些資料,現做以整理。 方法1. 通過新增不同語言的資原始檔的方式進行切換 步驟1): 窗體屬性Localizable設為TRUE,Language選擇需要的語言,然後修改一下窗體的Text屬性,就可以在窗體工程樹下生成對

Python 語言學習 第三篇:陣列型別列表字典和元組

列表和欄位都可以在原處進行修改,可以按照需求增長或縮短,並且可以包含任何型別的物件或被巢狀。列表和字典儲存的是物件的引用,而不是拷貝。 一,列表 列表是有序的序列,每一個列表項的順序是固定的,這使得列表可以通過指定的偏移來索引和分片。列表是可變的序列,支援在原處修改。 列表項可以是任何型別,或物件,也可

Python 語言學習 第八篇:函式2引數lamdba和函式屬性

函式的引數是引數暴露給外部的介面,向函式傳遞引數,可以控制函式的流程,函式可以0個、1個或多個引數;在Python中向函式傳參,使用的是賦值方式。 一,傳遞引數 引數是通過賦值來傳遞的,傳遞引數的特點是: 引數的傳遞是通過自動把物件賦值給函式的本地變數名來實現的, 在函式內部的變數名的賦值不會

Linux下程式輸入輸出^H^C問題

問題:        1、在linux的遠端終端上執行程式出現個人開發的應用按backspace鍵時有^H等不識別字符;        2、在CentOS7下的應用程式按backspace可以刪除但是delete鍵就無法實現像windows下的刪除後側的字元;