2 Star 0 Fork 0

jr/cuda-samples

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
Common
Samples
BlackScholes
BlackScholes_nvrtc
EGLStream_CUDA_CrossGPU
.vscode
Makefile
NsightEclipse.xml
README.md
cuda_consumer.cpp
cuda_consumer.h
cuda_producer.cpp
cuda_producer.h
eglstrm_common.cpp
eglstrm_common.h
findegl.mk
helper.h
kernel.cu
main.cpp
EGLStream_CUDA_Interop
EGLSync_CUDAEvent_Interop
FDTD3d
FilterBorderControlNPP
FunctionPointers
HSOpticalFlow
MC_EstimatePiInlineP
MC_EstimatePiInlineQ
MC_EstimatePiP
MC_EstimatePiQ
MC_SingleAsianOptionP
Mandelbrot
MersenneTwisterGP11213
MonteCarloMultiGPU
NV12toBGRandResize
SLID3D10Texture
SobelFilter
SobolQRNG
StreamPriorities
UnifiedMemoryPerf
UnifiedMemoryStreams
VFlockingD3D10
alignedTypes
asyncAPI
bandwidthTest
batchCUBLAS
batchedLabelMarkersAndLabelCompressionNPP
bf16TensorCoreGemm
bicubicTexture
bilateralFilter
binaryPartitionCG
bindlessTexture
binomialOptions
binomialOptions_nvrtc
boxFilter
boxFilterNPP
c++11_cuda
cannyEdgeDetectorNPP
cdpAdvancedQuicksort
cdpBezierTessellation
cdpQuadtree
cdpSimplePrint
cdpSimpleQuicksort
clock
clock_nvrtc
concurrentKernels
conjugateGradient
conjugateGradientCudaGraphs
conjugateGradientMultiBlockCG
conjugateGradientMultiDeviceCG
conjugateGradientPrecond
conjugateGradientUM
convolutionFFT2D
convolutionSeparable
convolutionTexture
cppIntegration
cppOverload
cuDLAErrorReporting
cuDLAHybridMode
cuDLAStandaloneMode
cuHook
cuSolverDn_LinearSolver
cuSolverRf
cuSolverSp_LinearSolver
cuSolverSp_LowlevelCholesky
cuSolverSp_LowlevelQR
cudaCompressibleMemory
cudaNvSci
cudaNvSciNvMedia
cudaOpenMP
cudaTensorCoreGemm
dct8x8
deviceQuery
deviceQueryDrv
dmmaTensorCoreGemm
dwtHaar1D
dxtc
eigenvalues
fastWalshTransform
fluidsD3D9
fluidsGL
fluidsGLES
fp16ScalarProduct
freeImageInteropNPP
globalToShmemAsyncCopy
graphMemoryFootprint
graphMemoryNodes
histEqualizationNPP
histogram
imageDenoising
immaTensorCoreGemm
inlinePTX
inlinePTX_nvrtc
interval
jacobiCudaGraphs
lineOfSight
marchingCubes
matrixMul
matrixMulCUBLAS
matrixMulDrv
matrixMulDynlinkJIT
matrixMul_nvrtc
memMapIPCDrv
mergeSort
nbody
nbody_opengles
nbody_screen
newdelete
nvJPEG
nvJPEG_encoder
oceanFFT
p2pBandwidthLatencyTest
particles
postProcessGL
ptxjit
quasirandomGenerator
quasirandomGenerator_nvrtc
radixSortThrust
randomFog
recursiveGaussian
reduction
reductionMultiBlockCG
scalarProd
scan
segmentationTreeThrust
shfl_scan
simpleAWBarrier
simpleAssert
simpleAssert_nvrtc
simpleAtomicIntrinsics
simpleAtomicIntrinsics_nvrtc
simpleAttributes
simpleCUBLAS
simpleCUBLASXT
simpleCUBLAS_LU
simpleCUDA2GL
simpleCUFFT
simpleCUFFT_2d_MGPU
simpleCUFFT_MGPU
simpleCUFFT_callback
simpleCallback
simpleCooperativeGroups
simpleCubemapTexture
simpleCudaGraphs
simpleD3D10
simpleD3D10RenderTarget
simpleD3D10Texture
simpleD3D11
simpleD3D11Texture
simpleD3D12
simpleD3D9
simpleD3D9Texture
simpleDrvRuntime
simpleGL
simpleGLES
simpleGLES_EGLOutput
simpleGLES_screen
simpleHyperQ
simpleIPC
simpleLayeredTexture
simpleMPI
simpleMultiCopy
simpleMultiGPU
simpleOccupancy
simpleP2P
simplePitchLinearTexture
simplePrintf
simpleSeparateCompilation
simpleStreams
simpleSurfaceWrite
simpleTemplates
simpleTemplates_nvrtc
simpleTexture
simpleTexture3D
simpleTextureDrv
simpleVoteIntrinsics
simpleVoteIntrinsics_nvrtc
simpleVulkan
simpleVulkanMMAP
simpleZeroCopy
smokeParticles
sortingNetworks
stereoDisparity
streamOrderedAllocation
streamOrderedAllocationIPC
streamOrderedAllocationP2P
systemWideAtomics
template
tf32TensorCoreGemm
threadFenceReduction
threadMigration
topologyQuery
transpose
vectorAdd
vectorAddDrv
vectorAddMMAP
vectorAdd_nvrtc
volumeFiltering
volumeRender
vulkanImageCUDA
warpAggregatedAtomicsCG
watershedSegmentationNPP
bin/win64
LICENSE
Makefile
README.md
Samples_VS2017.sln
Samples_VS2019.sln
克隆/下载
贡献代码
同步代码
Loading...
README

EGLStream_CUDA_CrossGPU - EGLStream_CUDA_CrossGPU

Description

Demonstrates CUDA and EGL Streams interop, where consumer's EGL Stream is on one GPU and producer's on other and both consumer-producer are different processes.

Key Concepts

EGLStreams Interop

Supported SM Architectures

SM 3.5 SM 3.7 SM 5.0 SM 5.2 SM 6.0 SM 6.1 SM 7.0 SM 7.2 SM 7.5 SM 8.0 SM 8.6

Supported OSes

Linux

Supported CPU Architecture

x86_64, armv7l

CUDA APIs involved

CUDA Driver API

cuDeviceGet, cuDeviceGetAttribute, cuDeviceComputeCapability, cuDeviceGetCount, cuDeviceGetName, cuGraphicsResourceGetMappedEglFrame, cuEGLStreamConsumerAcquireFrame, cuEGLStreamConsumerReleaseFrame, cuEGLStreamProducerReturnFrame, cuEGLStreamProducerPresentFrame, cuCtxCreate, cuMemAlloc, cuMemFree, cuMemcpy3D, cuStreamCreate, cuCtxPushCurrent, cuCtxPopCurrent, cuCtxDestroy

Dependencies needed to build/run

EGL

Prerequisites

Download and install the CUDA Toolkit 11.5 for your corresponding platform. Make sure the dependencies mentioned in Dependencies section above are installed.

Build and Run

Linux

The Linux samples are built using makefiles. To use the makefiles, change the current directory to the sample directory you wish to build, and run make:

$ cd <sample_dir>
$ make

The samples makefiles can take advantage of certain options:

  • TARGET_ARCH= - cross-compile targeting a specific architecture. Allowed architectures are x86_64, armv7l. By default, TARGET_ARCH is set to HOST_ARCH. On a x86_64 machine, not setting TARGET_ARCH is the equivalent of setting TARGET_ARCH=x86_64.
    $ make TARGET_ARCH=x86_64
    $ make TARGET_ARCH=armv7l
    See here for more details.

  • dbg=1 - build with debug symbols

    $ make dbg=1
    
  • SMS="A B ..." - override the SM architectures for which the sample will be built, where "A B ..." is a space-delimited list of SM architectures. For example, to generate SASS for SM 50 and SM 60, use SMS="50 60".

    $ make SMS="50 60"
    
  • HOST_COMPILER=<host_compiler> - override the default g++ host compiler. See the Linux Installation Guide for a list of supported host compilers.

    $ make HOST_COMPILER=g++

References (for more details)

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jarontang/cuda-samples.git
git@gitee.com:jarontang/cuda-samples.git
jarontang
cuda-samples
cuda-samples
master

搜索帮助