1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE entry SYSTEM "SamplesInfo.dtd">
<entry>
<name>simpleVulkanMMAP</name>
<cflags>
<flag>--std=c++11</flag>
</cflags>
<cuda_api_list>
<driver>cuMemCreate</driver>
<driver>cuMemAddressReserve</driver>
<driver>cuMemGetAllocationGranularity</driver>
<driver>cuMemAddressFree</driver>
<driver>cuMemUnmap</driver>
<driver>cuMemMap</driver>
<driver>cuMemRelease</driver>
<driver>cuMemExportToShareableHandle</driver>
<driver>cuMemSetAccess</driver>
<toolkit>cudaWaitExternalSemaphoresAsync</toolkit>
<toolkit>cudaImportExternalSemaphore</toolkit>
<toolkit>cudaDeviceGetAttribute</toolkit>
<toolkit>cudaSetDevice</toolkit>
<toolkit>cudaLaunchHostFunc</toolkit>
<toolkit>cudaMallocHost</toolkit>
<toolkit>cudaSignalExternalSemaphoresAsync</toolkit>
<toolkit>cudaFreeHost</toolkit>
<toolkit>cudaMemsetAsync</toolkit>
<toolkit>cudaMemcpyAsync</toolkit>
<toolkit>cudaGetDeviceCount</toolkit>
<toolkit>cudaStreamCreateWithFlags</toolkit>
<toolkit>cudaStreamDestroy</toolkit>
<toolkit>cudaDestroyExternalSemaphore</toolkit>
<toolkit>cudaSignalSemaphore</toolkit>
<toolkit>cudaWaitSemaphore</toolkit>
<toolkit>cudaFree</toolkit>
<toolkit>cudaStreamSynchronize</toolkit>
<toolkit>cudaMalloc</toolkit>
<toolkit>cudaOccupancyMaxActiveBlocksPerMultiprocessor</toolkit>
<toolkit>cudaGetDeviceProperties</toolkit>
</cuda_api_list>
<description><![CDATA[ This sample demonstrates Vulkan CUDA Interop via cuMemMap APIs. CUDA exports buffers that Vulkan imports as vertex buffer. CUDA invokes kernels to operate on vertices and synchronizes with Vulkan through vulkan semaphores imported by CUDA. This sample depends on Vulkan SDK, GLFW3 libraries, for building this sample please refer to "Build_instructions.txt" provided in this sample's directory]]></description>
<devicecompilation>whole</devicecompilation>
<files>
<file>montecarlo.vert</file>
<file>montecarlo.frag</file>
</files>
<includepaths>
<path>./</path>
<path>../</path>
<path>../../../Common</path>
</includepaths>
<keyconcepts>
<concept level="basic">cuMemMap IPC</concept>
<concept level="basic">MMAP</concept>
<concept level="advanced">Graphics Interop</concept>
<concept level="advanced">CUDA Vulkan Interop</concept>
<concept level="advanced">Data Parallel Algorithms</concept>
</keyconcepts>
<keywords>
<keyword>CUDA</keyword>
<keyword>CPP11</keyword>
<keyword>monte-carlo</keyword>
<keyword>Vulkan</keyword>
</keywords>
<libraries>
<library os="linux">cuda</library>
<library framework="true" os="macosx">CUDA</library>
</libraries>
<librarypaths>
</librarypaths>
<nsight_eclipse>true</nsight_eclipse>
<primary_file>main.cpp</primary_file>
<required_dependencies>
<dependency>X11</dependency>
<dependency>VULKAN</dependency>
</required_dependencies>
<scopes>
<scope>2:Graphics Interop</scope>
<scope>1:CUDA Advanced Topics</scope>
<scope>1:CUDA Vulkan Interop</scope>
</scopes>
<sm-arch>sm50</sm-arch>
<sm-arch>sm52</sm-arch>
<sm-arch>sm53</sm-arch>
<sm-arch>sm60</sm-arch>
<sm-arch>sm61</sm-arch>
<sm-arch>sm70</sm-arch>
<sm-arch>sm72</sm-arch>
<sm-arch>sm75</sm-arch>
<sm-arch>sm80</sm-arch>
<sm-arch>sm86</sm-arch>
<sm-arch>sm87</sm-arch>
<sm-arch>sm89</sm-arch>
<sm-arch>sm90</sm-arch>
<sources>
<extracompilation>../../../Common/helper_multiprocess.cpp</extracompilation>
<extraheader>../../../Common/helper_multiprocess.h</extraheader>
</sources>
<supported_envs>
<env>
<arch>x86_64</arch>
<platform>linux</platform>
</env>
<env>
<platform>windows7</platform>
</env>
<env>
<platform>aarch64</platform>
</env>
<env>
<platform>sbsa</platform>
</env>
</supported_envs>
<supported_sm_architectures>
<include>all</include>
</supported_sm_architectures>
<title>Vulkan CUDA Interop PI Approximation</title>
</entry>
|