小编jsa*_*der的帖子

使用 Vulkan VkImage 作为 CUDA cuArray

将 Vulkan VkImage 用作 CUDA cuArray 的正确方法是什么?

我一直在尝试遵循一些示例,但是在调用 cuExternalMemoryGetMappedMipmappedArray()

以有序的方式提供信息。

我正在使用 CUDA 10.1

基本代码来自https://github.com/SaschaWillems/Vulkan,特别是我正在使用01 - Vulkan Gears演示,丰富了 saveScreenshot 方法09 - 捕获屏幕截图

我不会将快照图像保存到文件中,而是将快照图像作为 CUarray 发送到 CUDA 中。

我启用了以下实例和设备扩展:

        std::vector<const char*> instanceExtensions = {
                VK_EXT_DEBUG_REPORT_EXTENSION_NAME,
                VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,
                VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,
                VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME };

        std::vector<const char*> deviceExtensions = { VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME,
                VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME,
                VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME,
                VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME };

Run Code Online (Sandbox Code Playgroud)

我有一个 VkImage,创建如下:

        // Create the linear tiled destination image to copy to and to read the memory from
        VkImageCreateInfo imageCreateCI(vks::initializers::imageCreateInfo());
        imageCreateCI.imageType = VK_IMAGE_TYPE_2D;
        // Note that vkCmdBlitImage (if …
Run Code Online (Sandbox Code Playgroud)

cuda gpu nvidia vulkan

7
推荐指数
1
解决办法
1385
查看次数

c ++如何使用其他项目中的类

我差不多整整一天都在寻找如何做到这一点.

起初,我认为这可以通过......来完成 Right click the project name -> "Add files" -> choosing a .cpp file which contains the class you need and the corresponding header file.

然后,.cpp文件和头文件与其原始文件夹一起出现.在此之后,我写#include"random.h"了一个需要使用的项目random.h及其功能.

但是,这会产生错误,表明这一点fatal error: random.h: No such file or directory.编译器显然找不到该文件(即使我可以).

我添加了这张照片.

在此输入图像描述

另外,我一直在寻找如何在没有文件夹的情况下添加.cpp和头文件.(例如,在上图中,您将看到random.cpp内部Using_a_class_test包含在一个名为的文件夹中Random.令我遗憾的是,我还没有找到如何消除这样的文件夹.)

如果您提供任何见解,我将不胜感激.

c++ interface class codeblocks

3
推荐指数
1
解决办法
3419
查看次数

标签 统计

c++ ×1

class ×1

codeblocks ×1

cuda ×1

gpu ×1

interface ×1

nvidia ×1

vulkan ×1