日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[GPGPU]图形处理单元上的通用计算

發布時間:2023/12/14 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [GPGPU]图形处理单元上的通用计算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ?圖形處理單元上的通用計算(GPGPU)

?

? ? ? ?圖形處理單元上的通用計算(英語:General-purpose computing on graphics processing units,簡稱GPGPU或GP2U),是利用處理圖形任務的圖形處理器來計算原本由中央處理器處理的通用計算任務。這些通用計算任務通常與圖形處理沒有任何關系。由于現代圖形處理器有強大的并行處理能力和可編程流水線,令圖形處理器也可以處理非圖形數據。特別是在面對單指令流多數據流(SIMD)且數據處理的運算量遠大于數據調度和傳輸的需要時,通用圖形處理器在性能上大大超越了傳統的中央處理器應用程序。

?

一、GPGPU?Definition

? ? ? ?A General-Purpose Graphics Processing Unit (GPGPU) is a graphics processing unit (GPU) that is programmed for purposes beyond graphics processing, such as performing computations typically conducted by a Central Processing Unit (CPU).

  • What is GPGPU?

? ? ? ?GPGPU, also known as GPGPU computing, refers to the increasingly commonplace, modern trend of using GPUs for non-specialized computations in addition to their traditional purpose of computation for computer graphics. Incorporating GPUs for general purposes enhances CPU architecture by accelerating portions of an application while the rest continues to run on the CPU, ultimately creating an overall faster, high-performance application by combining?CPU and GPU?processing power.?
? ? ? ?Harnessing the power of GPUs for general purposes can be accomplished via parallel computing platforms, which allow software developers and engineers to access graphics cards and write programs that enable GPUs to manage any task that can be parallelized.

  • GPU?vs GPGPU?

? ? ? ?Essentially all modern GPUs are GPGPUs. A GPU is a programmable processor on which thousands of processing cores run simultaneously in massive parallelism, where each core is focused on making efficient calculations, facilitating real-time processing and analysis of enormous datasets. While GPUs were originally designed primarily for the purpose of rendering images, GPGPUs can now be programmed to direct that processing power toward addressing scientific computing needs as well.

? ? ? ?If a graphics card is compatible with any particular framework that provides access to general purpose computation, it is a GPGPU. The primary difference is that where GPU computing is a hardware component, GPGPU is fundamentally a software concept in which specialized programming and equipment designs facilitate massive parallel processing of non-specialized calculations.

  • What is GPGPU?Acceleration?

? ? ? ?GPGPU acceleration refers to a method of accelerated computing in which compute-intensive portions of an application are assigned to the GPU and general-purpose computing is relegated to the CPU, providing a supercomputing level of parallelism. While highly complex calculations are computed in the GPU, sequential calculations can be performed in parallel in the CPU.?
? ? ? ?Frameworks for GPGPU accelerated computing can be created by any language that allows the code running on the CPU to poll a GPU shader for return values. GPGPU acceleration creates an overall faster application by migrating data into graphical form for the GPU to process and analyze, leading to insightful?GPU-Accelerated Analytics.

  • How to Use GPGPU

? ? ? ?Writing GPU enabled applications requires a parallel computing platform and application programming interface (API) that allows software developers and software engineers to build algorithms to modify their application and map compute-intensive kernels to the GPU. GPGPU supports several types of memory in a memory hierarchy for designers to optimize their programs. GPGPU memory is used for transferring data between device and host -- shared memory is an ef?cient way for threads in the same block to share their runtime and data. A?GPU Database?uses GPU computation power to analyze massive amounts of information and return results in milliseconds.

? ? ? ?GPGPU-Sim, developed at the University of British Columbia, provides a detailed simulation model of a contemporary GPU running CUDA and/or OpenCL workloads. Some open-source GPGPU benchmarks containing CUDA codes include: Rodinia benchmarks, SHOC, Tensor module in Eigen 3.0 open-source C++ template library for linear algebra, and SAXPY benchmark. Metal GPGPU, an Apple Inc. API, is a low-level graphics programming API for iOS and macOS but it can also be used for general-purpose compute on these devices.
? ? ? ?NVIDIA revolutionized the GPGPU and accelerated computing in 2007 with its creation of the Compute Unified Device Architecture (CUDA), the de facto computing language for image processing and algorithms.

  • GPGPU?in CUDA

? ? ? ?The CUDA platform is a software layer that gives direct access to the GPU's virtual instruction set and parallel computational elements for the execution of compute kernels. Designed to work with programming languages such as C, C++, and Fortran, CUDA is an accessible platform, requiring no advanced skills in graphics programming, and available to software developers through CUDA-accelerated libraries and compiler directives. CUDA-capable devices are typically connected with a host CPU and the host CPUs are used for data transmission and kernel invocation for CUDA devices.

? ? ? ?The CUDA model for GPGPU accelerates a wide variety of applications, including GPGPU AI, computational science, image processing, numerical analytics, and deep learning. The CUDA Toolkit includes GPU-accelerated libraries, a compiler, programming guides, API references, and the CUDA runtime.

  • Does OmniSci Offer a GPGPU Solution?

? ? ? ?The?OmniSci platform?provides an ecosystem of tools and solutions that enable users to harness the massive parallelism of GPUs.?OmniSciDB, the foundation of the OmniSci platform, is designed to exploit efficient inter-GPU communication infrastructure such as NVIDIA NVLink when available, harnessing the power of GPUs and CPUs and returning SQL query results for enormous datasets in milliseconds.

?

二、GPGPU數學基礎教程

  • Link:https://dev.gameres.com/Program/Visual/3D/GPGPU_math_Tutorial.html
  • ?

?

三、從GPU到GPGPU

  • Link:https://www.jianshu.com/p/e72a352a2bd7

  • ?

?

總結

以上是生活随笔為你收集整理的[GPGPU]图形处理单元上的通用计算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。