cuda-streams 相关问题


为 cuda 和非 cuda 编译器编写代码

问题: 我们正在编写 Cuda 代码,它也应该可以由非 cuda 编译器编译(我们使用:nvcc、gcc 和 clang。) 由于 Cuda 需要这些 __host__ __device__ 注释,我们解决了......


非常简单的 torch.tensor().to("cuda") 给出 CUDA 错误:设备端断言触发

我所做的就是, device = torch.device("cuda" if torch.cuda.is_available() else "cpu") torch.tensor([123,123]).to(设备) 我得到: 运行时错误:CUDA 错误:设备端断言


如何安装兼容CUDA 11.7的pytorch?

我的机器上有“NVIDIA GeForce RTX 2070”GPU。我发现 CUDA 11.7 是与该 GPU 兼容并可与 pytorch 配合使用的最新版本 CUDA。我已经安装了 CUDA 11.7。现在...


GKE Autopilot 上出现 CUDA 初始化错误

获取此堆栈跟踪: 抛出“c10::CUDAError”实例后调用终止 什么():CUDA错误:初始化错误 CUDA 内核错误可能会在某些其他地方异步报告...


如何使用 CUDA 将向量乘以矩阵?

如何使用 CUDA C++ 将向量(1N)和矩阵(NM)相乘并将结果存储在新向量(1*M)上?


将 ReadableStream 拆分成行

假设我有一个 ReadableStream 对象(来自 Streams API Web 标准): 让 ReadableStream = (await fetch('http://example.com')).body; 我知道我可以逐块读取它,其中块大小通常...


如何解决 OpenCV CUDA 支持构建问题

用不同的参数做了很多努力来构建支持 CUDA 的 OpenCV,但每次都会出现错误: 失败:bin/opencv_world490.dll lib/opencv_world490.lib C:\windows\system3


如何在CUDA中使用%%globaltimer寄存器?

这个问题的答案建议使用 %%globaltimer 寄存器来测量 CUDA 内核中经过的时间。我决定尝试一下: #定义 NS_PER_S 1000000000 __global__ 无效 sleepKernel() { ...


Java Streams - 如果比较器存在则排序

我有一个类,可以选择指定比较器。 由于比较器是可选的,因此我必须评估它的存在并执行相同的流代码,无论是否使用排序(): ...


Cuda Tensor Core:矩阵大小仅为 16x16

我有这个非常简单的代码来将两个矩阵与 Cuda Tensor Core 相乘 constexpr int M = 16; constexpr int N = 16; constexpr int K = 16; /* * 矩阵 A = M x N,B = N x K,C = M x K => ...


尝试通过 Google Colab 在 CUDA 中编译时出错

我有这个简单的结构: 类型定义结构{ 边缘* 边缘; 整数计数; }边缘列表; 我想要的只是在 Cuda 中的设备上分配空间。尤其。我已经有一个 EdgeList* allEdges ...


tensorflow:无法加载动态库“cudnn64_8.dll”; dlerror:找不到 cudnn64_8.dll

当我运行我的程序时,我看到这个错误: 我有 CUDA 11 并且 bin 文件夹中没有这样的 dll 文件: 我用: Python 3.8.7 CUDA 11.0 张量流2.4.1 此页面上有信息 https://www.


共享内存在矩阵乘法示例中的放置

我从下面的CUDA中矩阵乘法的经典示例实现中学到了知识。 CUDA 中的每个内核函数调用都绑定到 GPGPU 设备中的 1 个线程。 (显然这些调用可以是


PTX 内核名称修改

当从 ptx 文件编译内核时,我无法链接我的 Cuda 程序。 主.cu: 外部的 __global__ void 内核(int, float*); int main() { ... 内核<<<...>>>(...); ......


GPU 不适用于 Pytorch

我今天安装了 Anaconda、CUDA 和 PyTorch,但无法在 torch 中访问我的 GPU (RTX 2070)。我遵循了所有安装步骤,否则 PyTorch 工作正常,但是当我尝试访问 GPU 时


pytorch 训练中不允许进行多重处理

我尝试设置多个子流程,并使用 PyTorch 在每个子流程内的单独数据集上训练单独的模型。这是我的代码:(尚未涉及 cuda/GPU) ###################...


基于 OpenMP 的 Pytorch 与 CUDA 扩展

我尝试使用libtorch和OpenMP开发pytorch扩展。 当我测试我的代码时,它在 CPU 模型中运行良好,大约需要 1 秒才能完成所有操作: s = 时间.time() adj_矩阵 =


Cupy `RawKernel` CUDA_ERROR_NOT_FOUND:未找到命名符号 [cupy]

我正在尝试使用cupy的RawKernel在python中编写自定义cuda内核,但是我不断收到以下错误 回溯(最近一次调用最后一次): 文件“/nfs/users/xxxxxxxxx/git/raw_k...


运行时错误:NCCL 错误 2:未处理的系统错误

我最近将cuda从9.0升级到10.2,但是当我成功升级时,我的演示如下,将默认出现“RuntimeError: NCCL Error 2: unhandled system error”。 我不知道为什么,而且...


CUDA_ERROR_INVALID_SOURCE:设备内核映像无效

我正在尝试在我的 docker 容器中使用 cupy。 我使用的容器其中一个用于 CUDA 和 cuDNN,另一个用于 cupy。 我尝试了这段代码。 导入 cupy 作为 cp cupy_array = cp.array([1, 2, 3])


easyocr 仅在 Windows 上无法与 cpu 一起工作

我在带有gpu和cuda的计算机上成功使用了easyocr,但现在我也必须在只有cpu的机器上使用它。 按照 https://www.jaided.ai/easyocr/ins 的安装指南进行操作后...


运行时错误:StableCascadeCombinedPipeline:期望所有张量位于同一设备上

简而言之:尝试将图像传递到 StableCascadeCombinedPipeline 会出现运行时错误,抱怨张量并非全部都在 cuda 中。如果我注释掉图像,该应用程序将完美运行


使用 Optuna 时 CUDA 内存不足

半个月前,我可以毫无问题地使用Optuna进行48小时的研究,大约150+次试验。昨天我在相同的模型、相同的数据集、相同的批量大小和相同的设备上再次尝试了 Optuna(A...


当我尝试将 model.predict() 与 Keras 顺序模型一起使用时,出现意外的 Tensorflow ResourceExhaustedError

我使用的是 Python 3.9,并且安装了 Tensorflow 2.10 和 CUDA Toolkit 11.2 和 cuDNN 8.2,因为这是 Windows 10 上原生支持的最后一个配置。 我正在使用 NVI 进行训练...


如何使用 Bootstrap 5 将嵌入水平居中

我正在尝试使用上面的图像进行集中输入。我按照位置文档进行操作,但不知何故图像没有水平集中: 代码: 我正在尝试使用上面的图像进行集中输入。我按照位置文档进行操作,但不知何故图像没有水平集中: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Title --> <title>Title</title> <!-- Css --> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"> </head> <body> <div class="container position-absolute top-50 start-50 translate-middle"> <embed class="logo" src="https://www.google.com.br/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="Logo"> <form action="/streams" method="POST"> <div class="input-group"> <input class="form-control border-danger border-5" type="text" aria-describedby="start-button"> <button class="btn btn-danger" type="submit" id="start-button">Click</button> </div> </form> </div> </body> </html> 我尝试手动执行此操作并使用 display flex,但没有成功。 使用text-center链接 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Title --> <title>Title</title> <!-- Css --> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"> </head> <body> <div class="container text-center"> <embed class="logo " src="https://www.google.com.br/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="Logo"> <form action="/streams" method="POST"> <div class="input-group"> <input class="form-control border-danger border-5" type="text" aria-describedby="start-button"> <button class="btn btn-danger" type="submit" id="start-button">Click</button> </div> </form> </div> </body> </html>


IntelliSense 对于“使用命名空间 nvcuda”显示“名称必须是命名空间名称”

大家好,实际上我正在 Cuda 上编程,并且正在测试一个简单的张量核心示例,但是我在 IntelliSense 方面遇到了问题,实际上它向我显示了此命令的错误(参见图片),并且我...


为什么每次我尝试输入大数据时,我的 CUDA 程序都会退出并显示代码 -1073741571?

这是我的程序代码。而且这个错误甚至不限于此代码,无论我编写什么程序,它都不会输入大数据。并不是说我必须对这么大的数据做任何事情......


如何在 C++/WinRT (WinUI3) 中将图像从内存读取到 ImageSource?

[1] 我想在 XAML 中显示 Image 控件的图像,但该图像来自字节数组。 我应该怎么办?图像格式可以是JPG、BMP或PNG之一。 [1] 我想在 XAML 中显示 Image 控件的图像,但该图像来自字节数组。 我该怎么办?图像格式可以是 JPG、BMP 或 PNG 之一。 <Image x:Name="img"/> void MainWindow::myButton_Click(IInspectable const&, RoutedEventArgs const&) { unsigned long long size; // iamge data size const unsigned char* buf; // image data img().Source(???); // what should I do? } [2] 我尝试了InMemoryRandomAccessStream,但没有成功。 我知道在C#中使用MemoryStream很方便,但是如何在C++中实现它? 另一个问题是这个方法是否也适用于JPG和PNG格式的图像? void MainWindow::myButton_Click(IInspectable const&, RoutedEventArgs const&) { unsigned long long size; // iamge data size const unsigned char* buf; // image data winrt::Microsoft::UI::Xaml::Media::Imaging::BitmapImage bmp; winrt::Windows::Storage::Streams::InMemoryRandomAccessStream stream; // How to read data from stream? bmp.SetSource(stream); img().Source(bmp); } [3] 现在功能已经实现了,但是还有两个问题 IAsyncAction MainWindow::myButton_Click(IInspectable const&, RoutedEventArgs const&) { unsigned long long size; // iamge data size const unsigned char* buf; // image data winrt::Microsoft::UI::Xaml::Media::Imaging::BitmapImage bmp; winrt::Windows::Storage::Streams::InMemoryRandomAccessStream stream; winrt::Windows::Storage::Streams::DataWriter dw(st.GetOutputStreamAt(0ULL)); dw.WriteBytes({ buf, size }); // This is very inefficient! co_await dw.StoreAsync(); dw.Close(); bmp.SetSource(stream); img().Source(bmp); stream.Close(); } 首先,我发现DataWriter::WriteBytes()确实是在复制数据。但我认为ImageSource只需要从我的buf中读取即可,不需要在读取之前将整个图像完全复制到流中。也许是类似MemoryView的东西,我这样想是不是错了? 其次,DataWriter和InMemoryRandomAccessStream的Close()应该在哪里调用? BitmapImage需要释放内存吗?这里有一个异步函数,我不知道应该写在哪里 [4] 根据IInspectable,我尝试了SHCreatMemStream并搜索了大量信息以提出另一个解决方案。目前的问题是,与方法[3]同样可行,但仍然会出现内存分配问题。 #include "Shlwapi.h" #include "shcore.h" #pragma comment(lib, "shlwapi.lib") void MainWindow::myButton_Click(IInspectable const&, RoutedEventArgs const&) { unsigned long long size; // iamge data size const unsigned char* buf; // image data winrt::Microsoft::UI::Xaml::Media::Imaging::BitmapImage bmp; IStream* stream{ SHCreateMemStream(buf, size) }; // Copying takes a lot of time static const GUID guidIRandomAccessStream = { 0x905a0fe1, 0xbc53, 0x11df, { 0x8c, 0x49, 0x00, 0x1e, 0x4f, 0xc6, 0x86, 0xda } }; winrt::Windows::Storage::Streams::IRandomAccessStream pRas{ }; CreateRandomAccessStreamOverStream(stream, BSOS_OPTIONS::BSOS_DEFAULT, guidIRandomAccessStream, (void**)&pRas); bmp.SetSource(stream); img().Source(bmp); } 通过性能测试,发现CreateRandomAccessStreamOverStream的时间是一致的,但是SHCreateMemStream消耗的时间与图像大小成正比。可以得出,SHCreateMemStream中创建流的过程也涉及到内存的复制。 我对Windows编程中的Stream不是特别熟悉。创建流的过程一定会涉及到内存复制吗?从内存加载图像可以避免额外的开销吗?还有没有类似MemoryStreamView的结构来替代吗? 还有一个问题,我知道新的图像肯定需要内存存储。 BitmapImage设置Stream为Source会接管Stream占用的内存吗? Image控件设置BitmapImage作为Source会接管BitmapImage占用的内存吗? 如果是这样的话,我可以接受Stream分配新的内存,否则仍然是一个效率问题。 谢谢!!!!!!! 使用Stream已经彻底解决了这个问题。如前四期所述。 至于附加问题: ★1 使用 CreatStreamOnHGlobal 而不是 SHCreatMemStream。 因为SHCreatMemStream在调用过程中会对传入的内存块参数进行另一次内存复制。 CreatStreamOnHGlobal 创建流后不执行内存复制。您可以先通过GlobalAlloc分配内存,写入所需的图像数据,然后调用CreatStreamOnHGlobal,无需任何时间开销。另外,可以将CreatStreamOnHGlobal的第二个参数设置为true,自动释放GlobalAlloc分配的内存。 通过进程内存监控,我发现对于同一个程序,使用CreatStreamOnHGlobal的速度是SHCreatMemStream的两倍,并且不会导致内存泄漏。 ★2 创建的Stream需要调用Release方法减少一个引用。 IRandomAccessStream作为局部变量,会自动析构,无需主动释放。 并且BitmapImage还管理一部分引用,这些引用在离开作用域后被释放。 通过测试COM对象上Release方法的返回值,发现整个程序结束后引用计数又回到了0


© www.soinside.com 2019 - 2024. All rights reserved.