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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

CUDA Samples目录

發布時間:2023/11/27 生活经验 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CUDA Samples目录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

  1. Simple Reference?
    基礎CUDA示例,適用于初學者, 反映了運用CUDA和CUDA runtime APIs的一些基本概念.
  2. Utilities Reference?
    演示如何查詢設備能力和衡量GPU/CPU 帶寬的實例程序。
  3. Graphics Reference?
    圖形化示例展現的是 CUDA, OpenGL, DirectX 之間的互通性
  4. Imaging Reference?
    圖像處理,壓縮,和數據分析
  5. Finance Reference?
    金融計算的并行處理
  6. Simulations Reference?
    展現一些運用CUDA的模擬算法
  7. Advanced Reference?
    用CUDA實現的一些先進的算法
  8. Cudalibraries Reference?
    這類示例主要告訴我們該如何使用CUDA各種函數庫(NPP, CUBLAS, CUFFT,CUSPARSE, and CURAND).

Simple Reference

  1. asyncAPI?
    使用CUDA stream和events重疊CPU和GPU的執行
  2. cdpSimplePrint - Simple Print (CUDA Dynamic Parallelism)?
    展示了使用CUDA Dynamic Parallelism進行簡單輸出,需要3.5以上。依賴于CDP
  3. cdpSimpleQuicksort - Simple Quicksort (CUDA DynamicParallelism)?
    使用CUDA DynamicParallelism進行快速排序。也要求3.5以上
  4. clock - Clock?
    如何使用clock函數去精確測量block的性能
  5. clock_nvrtc - Clock libNVRTC?
    使用libNVRTC里的clock_nvtrc函數精確測量blokc性能
  6. cppIntegration - C++ Integration?
    展示如何將CUDA程序整合進一個現成的C++應用中。CUDA的入口指針在主機端就是個函數,只有包含這個函數的時候才會用nvcc編譯。也展示了向量類型也可以被CUDA使用。
  7. cppOverload?
    展示如何在GPU上重載C++函數
  8. cudaOpenMP?
    如何使用cudaOpenMP API來寫多GPU程序
  9. fp16ScalarProduct - FP16 Scalar Product?
    計算兩個FP16類型標量的乘積
  10. inlinePTX - Using Inline PTX?
    展示在CUDA代碼中嵌入ptx代碼
  11. inlinePTX_nvrtc - Using Inline PTX with libNVRTC?
    同上
  12. matrixMul - Matrix Multiplication (CUDA Runtime API Version)?
    實現了矩陣乘法。為了清楚地展示CUDA編程的規則而不是致力于優化矩陣乘法。為了展示GPU矩陣乘的性能,也使用了CUBLAS這個庫去展示高性能的矩陣乘。
  13. matrixMul_nvrtc - Matrix Multiplication with libNVRTC?
    同上
  14. matrixMulCUBLAS - Matrix Multiplication (CUBLAS)?
    同上
  15. matrixMulDrv - Matrix Multiplication (CUDA Driver API Version)?
    這個是使用驅動API實現的矩陣乘。
  16. simpleAssert?
    如何使用Assert函數
  17. simpleAssert_nvrtc - simpleAssert with libNVRTC?
    同上
  18. simpleAtomicIntrinsics - Simple Atomic Intrinsics?
    原子操作
  19. simpleAtomicIntrinsics_nvrtc - Simple Atomic Intrinsics with libNVRTC?
    同上
  20. simpleCallback - Simple CUDA Callbacks?
    CUDA5.0的新功能。使用CPU回調CUDA流和事件的多線程異步計算。
  21. simpleCubemapTexture - Simple Cubemap Texture?
    CUDA4.1的新功能,如何在代碼中使用cubemap Textures
  22. simpleIPC?
    展示進程間通訊(Inter Process Communication,IPC),需要Linux系統
  23. simpleLayeredTexture - Simple Layered Texture?
    CUDA4.0支持層次紋理操作
  24. simpleMPI?
    如何使用信息傳遞接口(Message Passing Interface,MPI)
  25. simpleMultiCopy - Simple Multi Copy and Compute?
    1.1以上,將計算和數據傳輸重疊。在2.0的機器上,在PCIe上任意方向的全速重疊都是可能的。這個例子展示了使用CUDA stream來重疊數據傳輸和Kernel執行。
  26. simpleMultiGPU - Simple Multi-GPU?
    CUDA4.0對于CUDA上下文的管理和多GPU上的多線程并發
  27. simpleOccupancy?
    通過利用配置程序啟動一個Kernel來說明CUDA占用計算器(occupancy calculator)和占用啟動配置器的使用(這特么都是啥。。。),并檢測不同配置下的使用率。
  28. simpleP2P - Simple Peer-to-Peer Transfers with Multi-GPU?
    展示P2P的數據傳輸。也就是設備之間的數據傳輸。
  29. simplePitchLinearTexture - Pitch Linear Texture?
    這翻譯成等步長紋理。
  30. simplePrintf?
    如何在設備中使用輸出語句。在2.0之前,要用cuPrintf,之后可以直接printf。
  31. simpleSeparateCompilation - Simple Static GPU Device Library?
    5.0特性,創建一個GPU靜態庫并在其他的Kernel中使用。這個例子展示了如何把一個(靜態庫中的)設備函數作為函數指針被調用。
  32. simpleStreams?
    使用CUDA流重疊數據傳輸和Kernel執行。使用了頁鎖定內存
  33. simpleSurfaceWrite - Simple Surface Write?
    2D表面引用
  34. simpleTemplates - Simple Templates?
    就是講講模板怎么用,特別的,如何使用模板動態申請共享內存。
  35. simpleTemplates_nvrtc - Simple Templates with libNVRTC?
    同上
  36. simpleTexture - Simple Texture?
    使用紋理內存
  37. simpleTextureDrv - Simple Texture (Driver Version)?
    使用驅動API操作紋理內存
  38. simpleVoteIntrinsics - Simple Vote Intrinsics?
    如何使用Vote Intrinsics(不知道是啥)
  39. simpleVoteIntrinsics_nvrtc - Simple Vote Intrinsics with libNVRTC?
    同上并且要使用NVRTC 接口。
  40. simpleZeroCopy?
    零拷貝內存的使用,利用零拷貝可以直接從地址中讀取而不用傳遞。
  41. systemWideAtomics - System wide Atomics?
    原子操作
  42. template - Template?
    一個零碎的模板工程,可以被用于創建一個粗大工程。
  43. UnifiedMemoryStreams - Unified Memory Streams?
    使用統一內存的OpenMP和流。
  44. vectorAdd - Vector Addition?
    運行時API實現的向量加法
  45. vectorAdd_nvrtc - Vector Addition with libNVRTC?
    同上
  46. vectorAddDrv - Vector Addition Driver API?
    同上

Utilities Reference

  1. bandwidthTest - Bandwidth Test?
    檢測GPU之間內存復制的帶寬和PCIe帶寬。可以檢測各種帶寬。
  2. deviceQuery - Device Query?
    設備信息。
  3. deviceQuery - Device Query?
    使用驅動API檢測設備信息。
  4. p2pBandwidthLatencyTest - Peer-to-Peer Bandwidth Latency Test with Multi-GPUs?
    用來檢測設備之間的數據計算時延和帶寬。使用P2P和沒使用都檢測了。
  5. topologyQuery - Topology Query?
    多GPU下請求的拓補結構。

Graphics Reference

  1. bindlessTexture - Bindless Texture?
    展示對cudaSurfaceObject, cudaTextureObject和MipMap的使用
  2. Mandelbrot?
    展示Mandelbrot 或者 Julia集。同時也展示如何使用”double single”算法提高放大精度。
  3. marchingCubes - Marching Cubes Isosurfaces?
    嗯。。。實在不知道是在講啥,只能直譯了。使用marching cubes算法從一堆數據中抽象出來幾何等值面。
  4. simpleD3D10 - Simple Direct3D10 (Vertex Array)?
    展示CUDA和Direct3D10的互操作性,通過CUDA產生了定點數組使用Direct3D10給出幾何結構(?)
  5. simpleD3D10RenderTarget - Simple Direct3D10 Render Target?
    CUDA和Direct3D10中渲染目標(rendertargets)的互操作性。使用CUDA對渲染目標的位置產生一個可視化直方圖。
  6. simpleD3D10Texture - Simple D3D10 Texture?
    展示CUDA和Direct3D10的紋理互操作性。
  7. simpleD3D11Texture - Simple D3D11 Texture?
    吶,不出所料是展示CUDA和Direct3D11的紋理互操作性咯。
  8. simpleD3D9 - Simple Direct3D9 (Vertex Arrays)?
    見條目4
  9. simpleD3D9Texture - Simple D3D9 Texture?
    見條目6
  10. simpleGL - Simple OpenGL?
    這是CUDA和OpenGL的互操作性。通過CUDA修改定點位置,然后用OpenGL渲染。
  11. simpleGLES - Simple OpenGLES?
    展示CUDA和OpenGLES的數據交換。改變頂點位置并用OpenGL ES渲染。
  12. simpleGLES_EGLOutput - Simple OpenGLES EGLOutput?
    展示CUDA和OpenGLES的數據交換。改變頂點位置并用OpenGL ES渲染。并展示使用EGLOutput機制和DRM庫如何直接渲染顯示。(然后顯示在屏幕上)
  13. simpleGLES_screen - Simple OpenGLES on Screen?
    展示CUDA和OpenGLES的數據交換。改變頂點位置并用OpenGL ES渲染。
  14. simpleTexture3D - Simple Texture 3D?
    使用3維紋理
  15. SLID3D10Texture - SLI D3D10 Texture?
    展示帶有Direct3D10紋理的SLI與CUDA的互操作性。創建了一個從CUDAKernel寫入的D3D10紋理。之后Direct3D在屏幕上渲染了結果
  16. volumeFiltering - Volumetric Filtering with 3D Textures and Surface Writes?
    使用3D紋理和3D表面寫進行3D體積過濾
  17. volumeRender - Volume Rendering with 3D Textures?
    使用3D紋理進行基礎的體積渲染

Imaging Reference

暫略

Finance Reference

暫略

Simulations Reference

  1. fluidsD3D9 - Fluids (Direct3D Version)?
    利用CUDA和CUFFT進行流體模擬,利用Direct3D 9渲染。
  2. fluidsGL - Fluids (OpenGL Version)?
    利用CUDA和CUFFT進行流體模擬,利用OpenGL渲染。
  3. fluidsGLES - Fluids (OpenGLES Version)?
    利用CUDA和CUFFT進行流體模擬,利用OpenGL渲染。
  4. nbody - CUDA N-Body Simulation?
    模擬了N體問題(對的,包括三體)。通過參數可以控制N的大小,并且能夠控制使用多少GPU設備。體的位置和速度使用零拷貝內存存儲,對于設備數量少于4和有大量體的情況,帶寬不再是運行瓶頸我們可以實現大規模的數據。
  5. nbody_opengles - CUDA N-Body Simulation with GLES?
    這個模擬不提供用戶交互。
  6. nbody_screen - CUDA N-Body Simulation on Screen?
    在屏幕上模擬?
  7. oceanFFT - CUDA FFT Ocean Simulation?
    使用CUFFT庫模擬海洋高度場(Ocean height field),并用OpenGL渲染。
  8. particles - Particles?
    模擬大量粒子的相互作用。可以控制參數粒子的個數。這個粒子實現了一種統一數據結構,利用原子操作或者Thrust庫的快速基數排序。
  9. smokeParticles - Smoke Particles?
    煙霧的光影體積模擬,用CUDA實現的一些先進的算法,使用半張角切片(half-angle slicing)技術。使用CUDA模擬,Thrust庫排序,OpenGL渲染。
  10. VFlockingD3D10?
    這個是模擬什么大鳥的V型絨毛的(V-shaped flocks by big birds)。。。有GPU和CPU實現版本,使用g去開關這兩者。

Advanced Reference

  1. alignedTypes - Aligned Types?
    展示對齊與非對齊結構體之間傳輸速度
  2. c++11_cuda - C++11 CUDA?
    展示CUDA對C++11特性的支持。掃描了輸入文件,輸出x,y,z,w的。
  3. cdpAdvancedQuicksort - Advanced Quicksort (CUDA Dynamic Parallelism)?
    實現了高級的快速排序,使用CUDA Dynamic Parallelism。
  4. cdpBezierTessellation - Bezier Line Tessellation (CUDA Dynamic Parallelism)?
    嗯,就是,bezier tessellation of lines這個的實現。什么貝啟爾曲線啥的,中文和英文一樣看不到 (= = )
  5. cdpLUDecomposition - LU Decomposition (CUDA Dynamic Parallelism)?
    LU分解是一種將非奇異矩陣進行三角分解的方法,然后CUDA模擬一下。
  6. cdpQuadtree - Quad Tree (CUDA Dynamic Parallelism)?
    象限四分樹(哇哦。。。)
  7. concurrentKernels - Concurrent Kernels?
    stream中并行執行多個Kernel,并闡明如何處理CUDA stream之間的依賴。
  8. eigenvalues - Eigenvalues?
    算特征值對于線性代數來說十分重要。這個例子實現了一個并行的二分算法,計算一個隨機大小的三對角矩陣的特征值。
  9. fastWalshTransform - Fast Walsh Transform?
    實現快速沃爾什變換
  10. FDTD3d - CUDA C 3D FDTD?
    該樣例在3D表面上應用有限差分時域進展模板。(是的你沒看錯)
  11. FunctionPointers - Function Pointers?
    教你怎么使用函數指針并且實現了索貝爾邊緣檢測。
  12. interval - Interval Computing?
    實現區間計算。
  13. lineOfSight - Line of Sight?
    視線算法的視線。給定一個高度圖和來自一些觀察點的射線,計算從觀察點沿著光線經過的所有的點。
  14. matrixMulDynlinkJIT - Matrix Multiplication (CUDA Driver API version with Dynamic Linking Version)?
    使用CUDA驅動API再次實現矩陣乘法。展示了如何在運行時鏈接驅動并且即時編譯PTX代碼。主要也是為了展示CUDA的程序規則而不是優化程序。CUBLAS被用于這個計算。?
    15.mergeSort - Merge Sort?
    實現了歸并排序。雖然這種排序在大序列的排序上通常效率較低,但是在中等大小的鍵值對排序上是個好的選擇。
  15. newdelete - NewDelete?
    展示在設備上動態new 和 delete空間和聲明虛函數。
  16. ptxjit - PTX Just-in-Time compilation?
    使用驅動API從PTX即時編譯Kernel。并展示了運行時和驅動API互操作性的無縫銜接。對于CUDA5.5,這個例子展示如何使用cuLink*這樣的函數鏈接PTX。
  17. radixSortThrust - CUDA Radix Sort (Thrust Library)?
    使用Thrust庫進行超級快而且高效并行的基數排序。既可以進行鍵值對排序也可以只進行鍵的排序。這個代碼使用了線程束同步,依賴于GPU上的線程都屬于線程束這個規則,所有的線程都同步地執行。當線程束內的線程訪問共享內存時,代碼中不用__syncthreads()。對于這種沒有競爭條件的操作,想要正確執行必須將共享內存定義為volatile。如果不定義,在缺少__syncthreads()時,編譯器會延遲將數據存到共享內存而是保存到寄存器中(編譯器的優化措施),這樣會導致錯誤。因此要主要這方面的應用。
  18. reduction - CUDA Parallel Reduction?
    規約。這里有一些優化方法。
  19. scalarProd - Scalar Product?
    標量相乘。
  20. scan - CUDA Parallel Prefix Sum (Scan)?
    并行前綴和(也稱掃描算法)。
  21. segmentationTreeThrust - CUDA Segmentation Tree Thrust Library?
    構造圖像分割樹的方法。基于Boruvka的MST算法。
  22. shfl_scan - CUDA Parallel Prefix Sum with Shuffle Intrinsics (SHFL_Scan)?
    如何使用shuffle(線程束混洗)來進行掃描。
  23. simpleHyperQ?
    流中多個Kernel并行,并且使用了HyperQ技術(這里竟然有教程)
  24. sortingNetworks - CUDA Sorting Networks?
    雙調排序奇偶合并排序。雖然這種排序在大序列的排序上通常效率較低,但是在中等大小的鍵值對排序上是個好的選擇。
  25. StreamPriorities - Stream Priorities?
    如何使用流。
  26. threadFenceReduction?
    使用thread Fence來進行規約。單步規約需要原子操作和_threadfence()指令
  27. threadMigration - CUDA Context Thread Management?
    適合使用CUDA上下文管理和使用新的CUDA4.0的參數傳遞以及CUDA啟動API。CUDA上下文可以被分別創建并且獨立地和不同的線程連接。
  28. transpose - Matrix Transpose?
    矩陣轉置。有一些操作用來優化。

Cudalibraries Reference

  1. batchCUBLAS?
    教你怎么使用批量的CUBLAS的API提高程序性能。
  2. BiCGStab?
    使用CUSPARSE和CUBLAS對有限的對稱和非對稱線性系統的穩定雙共軛梯度(Bi-Conjugate Gradient Stabilized)迭代方法。
  3. boxFilterNPP - Box Filter with NPP?
    如何使用NPP盒式過濾器函數執行盒式過濾。
  4. cannyEdgeDetectorNPP - Canny Edge Detector NPP?
    什么邊緣檢測過濾器。用這個可以把輸入圖片搞成灰度圖片。
  5. conjugateGradient - ConjugateGradient?
    使用CUBLAS and CUSPARSE庫實現共軛梯度計算
  6. conjugateGradientPrecond - Preconditioned Conjugate Gradient?
    使用CUBLAS and CUSPARSE庫實現前承條件共軛梯度計算
  7. conjugateGradientUM - ConjugateGradientUM?
    使用統一內存和CUBLAS and CUSPARSE庫實現共軛梯度計算
  8. cuHook - CUDA Interception Library?
    展示如何編譯和使用一個截距庫。這個庫要通過LD_PRELOAD加載。?
    libcuhook.so.1 ./cuHook
  9. cuSolverDn_LinearSolver - cuSolverDn Linear Solver?
    實現cuSolverDN的LU, QR和Cholesky因式分解
  10. cuSolverRf - cuSolverRf Refactorization?
    重新因子化。
  11. cuSolverSp_LinearSolver - cuSolverSp Linear Solver?
    實現cuSolverSP的LU, QR和Cholesky因式分解
  12. cuSolverSp_LowlevelCholesky - cuSolverSp LowlevelCholesky Solver?
    使用cuSolverSP底層API實現Cholesky因式分解
  13. cuSolverSp_LowlevelQR - cuSolverSp Lowlevel QR Solver?
    使用cuSolverSP底層API實現QR因式分解
  14. FilterBorderControlNPP - Filter Border Control NPP?
    如何在常見模式下使用NPP過濾器函數的邊緣版本,可以用來備份NPP的相同的無邊界版本函數的結果,也可以被用來開關不同原圖片邊緣的邊界控制,這些圖片邊緣依賴于被作為輸入的原圖片的部分。(是是是,你說得都對)
  15. freeImageInteropNPP - FreeImage and NPP Interopability?
    使用FreeImage庫
  16. histEqualizationNPP - Histogram Equalization with NPP?
    如何使用NNP把圖片數據直方圖均值化
  17. jpegNPP - JPEG encode/decode and resize with NPP?
    流水線處理圖片。首先一個JPEG圖片被哈弗曼編碼然后被離散余弦轉換且去量子化。不同區域被重新調整大小。最后反過來,重新量子化,正向離散余弦轉換再哈弗曼解碼。
  18. MC_EstimatePiInlineP - Monte Carlo Estimation of Pi(inline PRNG)?
    使用蒙特卡羅方法模擬π(內聯PRNG),并使用NVIDIA CURAND庫。
  19. MC_EstimatePiInlineQ - Monte Carlo Estimation of Pi(inline QRNG)?
    使用蒙特卡羅方法模擬π(內聯QRNG),并使用NVIDIA CURAND庫。
  20. MC_EstimatePiP - Monte Carlo Estimation of Pi (batch PRNG)?
    使用蒙特卡羅方法模擬π(使用批量PRNG).),并使用NVIDIA CURAND庫。
  21. MC_EstimatePiQ - Monte Carlo Estimation of Pi (batch QRNG)?
    使用蒙特卡羅方法模擬π(使用批量RRNG).),并使用NVIDIA CURAND庫。
  22. MC_SingleAsianOptionP - Monte Carlo Single Asian Option?
    使用蒙特卡羅方法模擬簡單亞式期權,并使用NVIDIA CURAND庫。
  23. MersenneTwisterGP11213?
    模擬梅森旋轉算法,使用cuRAND產生隨機數
  24. nvgraph_Pagerank - NVGRAPH Page Rank?
    使用NVGRAPH庫進行Page Rank
  25. nvgraph_SemiRingSpmv - NVGRAPH Semi-Ring SpMV?
    使用NVGRAPH庫進行半環向量乘法。
  26. nvgraph_SSSP - NVGRAPH Single Source Shortest Path?
    使用NVGRAPH庫計算單源最短路徑
  27. randomFog - Random Fog?
    演示使用CURAND產生偽隨機和準隨機算法
  28. simpleCUBLAS - Simple CUBLAS?
    演示怎么使用最新的CUBLAS庫
  29. simpleCUBLASXT - Simple CUBLAS XT?
    CUBLAS-XT庫使用
  30. simpleCUFFT - Simple CUFFT?
    使用CUFFT計算帶有過濾的信號的1維卷積,通過將其轉換入頻域(frequency domain),使其二者相乘,并重新傳回時域。CUFFT計劃是產生于簡單和高級API的需求的。
  31. simpleCUFFT_2d_MGPU - SimpleCUFFT_2d_MGPU?
    這個是用CUFFT計算二維卷積。,并且是多個GPU。
  32. simpleCUFFT_callback - Simple CUFFT Callbacks?
    這個也是 使用CUFFT計算帶有過濾的信號的1維卷積,通過將其轉換入頻域(frequency domain),使其二者相乘,并重新傳回時域。不同之處在于,多個步驟是由用戶提供的一個CUFFT回調函數實現而不是一個分離的Kernel調用。
  33. simpleCUFFT_MGPU - Simple CUFFT_MGPU?
    多GPU的一維卷積。
  34. simpleDevLibCUBLAS - simpleDevLibCUBLAS GPU Device API Library Functions (CUDA Dynamic Parallelism)?
    該示例實現了一個簡單的CUBLAS函數調用,調用運行CUBLAS函數的GPU設備API庫

總結

以上是生活随笔為你收集整理的CUDA Samples目录的全部內容,希望文章能夠幫你解決所遇到的問題。

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