列出帖子

该操作将允许你查看该会员所有的帖子,注意你只能看到你有权限看到的板块的帖子。


只显示主题 - sisiy

页: [1] 2 3 ... 7
1
问个问题:kernel通常有theoretical occupancy和achieved occupancy之分,theoretical occupancy代表理论上SM能够容纳的warp数目(SM资源受限)与SM能容纳的warp数目的最大值的比值,而achieved occupancy代表实际运行时每个时刻各SM常驻warp数目与SM能容纳的warp数目的最大值的比值的平均值。但是实际上achieved occupancy要小于theoretical occupancy,有哪些因素导致了achieved occupancy小于theoretical occupancy?是block级别的调度或warp级别的调度产生的调度开销导致的吗?

2
比如gpu里一段连续的1到100的数据  但我只想N*10处的数据搬到cpu端,
这个怎么做比较好

3
CUDA / incorrect inclusion of a cudart header file
« 于: 十月 30, 2019, 03:36:43 pm »
incorrect inclusion of a cudart header file ,
这个是什么问题造成的

4
我现在想把普通的CPU内存拷贝到GPU内存上,调用cudaMemcpyAsync函数,发现执行的时间跟调用同步拷贝的时间差不多,大概几百微妙到几毫秒,按说不是异步拷贝调用完就退出了吗?为什么会耗时这么长呢?

5
我还有一个问题,虽然现在2进制转10进制在核函数级别是并行执行的,但是核函数内部的算法仍然是有串行的,怎么才能使用cuda达到解码算法内部也是并行的呢?
__global__ void convertBinaryToDecimalKernel(int* a)
{
   long n = a[0];
   int decimalNumber = 0, i = 0, remainder;
   while (n != 0)
   {
      remainder = n % 10;
      n /= 10;
      decimalNumber += remainder * powf(2, i);
      ++i;
   }
   a[0] = decimalNumber;
}

这里while循环是否能并行呢?cuda是否有类似的库可以使用,或者有更高效的算法吗?
谢谢

6
CUDA / 请问这个是内存分配的错误吗?
« 于: 十月 13, 2019, 02:17:43 pm »
请问这个是内存分配的错误吗?我是按照例子程序copy的,为什么会分配失败。。我的核函数是把2进制数转为10进制数

7
CUDA / 這是怎麽回事
« 于: 十月 13, 2019, 02:14:51 pm »
如題

8
Deestream开发 / NVIDIA DeepStream 问题汇总
« 于: 九月 14, 2019, 04:40:07 pm »
1.运行DeepStream pipline出现:“NvDsBatchMeta not found for input buffer”错误
解决方案:Gst-nvstreammux插件还没有发布。从Deepstream4.0开始Gst-nvstreammux是一个必需的插件。
这是一个管道的例子:
Gst-nvv4l2decoder→Gst-nvstreammux→Gst-nvinfer→Gst-nvtracker→
Gst-nvmultistreamtiler→Gst-nvvideoconvert→Gst-nvosd→Gst-nveglglessink

2.问题:Deepstream参考程序无法启动,或任何插件无法加载。
解决方案:尝试清除GStreamer缓存运行命令:
程序代码: [选择]
$ rm -rf ${HOME}/.cache/gstreamer-1.0
如果加载插件有问题,也可以运行这个命令,终端上会显示插件的警告或者错误信息:
程序代码: [选择]
$ gst-inspect-1.0然后运行这个命令来寻找缺少的依赖项:
程序代码: [选择]
$ldd <plugin>.so其中<plugin>是加载失败的插件的名称。

3.问题:当神经网络发生变化时,应用程序无法运行。
解决方案:确保更新了相应的网络参数
[GIE] 组 配置 文件 中的 (比如:source30_720p_dec_infer-resnet_tiled_display_int8.txt).还要确保Gst-nvinfer
插件的配置文件也相应地更新。
更改模型时,请确保应用程序没有使用旧的引擎文件

9
Deestream开发 / 各版本Deepstream包含软件版本
« 于: 九月 14, 2019, 04:20:08 pm »
各版本Deepstream包含软件版本

10
Deestream开发 / Deepstream常见问题
« 于: 九月 14, 2019, 03:22:42 pm »
1. 如何卸载DeepStream 3.0?
您必须清理DeepStream 3.0库和二进制文件。输入以下命令之一进行清理:
对于dGPU:输入以下命令:
程序代码: [选择]
$ sudo rm -rf /usr/local/deepstream /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libnvdsgst_* /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstnv* /usr/bin/deepstream* /usr/lib/x86_64-linux-gnu/libv4l/plugins/libcuvidv4l2_plugin.so
2.对于Jetson: 用最新的Jetpack刷机。
DeepStream 4.0支持哪些类型的输入流?
它支持H.264、H.265、JPEG和MJPEG流

3.Tesla GPU上H.264和H.265 decode的输出是什么?
https://developer.nvidia.com/nvidia-video-codec-sdk信息。

12
TensorRT开发者指南 / 2.2.2. Importing A Model Using A Parser In C++
« 于: 九月 04, 2019, 03:03:46 pm »
要使用c++解析器API导入模型,需要执行以下高级步骤:
1.创建TensorRT构建器和网络。
程序代码: [选择]
IBuilder* builder = createInferBuilder(gLogger);
nvinfer1::INetworkDefinition* network = builder->createNetwork();

如何创建日志程序的例子,可以访问 Instantiating TensorRT Objects in C++https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#initialize_library

2.为特定格式创建TensorRT解析器。
程序代码: [选择]
ONNX
auto parser = nvonnxparser::createParser(*network, gLogger);
UFF
auto parser = nvuffparser::createUffParser();
Caffe
auto parser = nvcaffeparser1::createCaffeParser();

 

Use the parser to parse the imported model and populate the network.
parser->parse(args);
The specific args depend on what format parser is used. For more information, refer to the parsers documented in the TensorRT API.

13
答:那只可能这句没有执行到。
或者执行到了,但是没有来得及输出(或者fflush), 就立刻被干掉了(例如进程被一个KILL信号)。
应当没有其他可能了。
一般常见的是第一种。
很多作者以为能XXX行被执行到,然而实际上不能。
考虑到是在Kernel中使用printf(假设这个是CUDA kernel),我建议楼主确定这里能执行到(即:kernel没有在这行之前挂掉)。

注意CUDA往往是多线程的kernel,任何一个线程挂掉(例如因为无效的地址或者下表访存),那么整个kernel的一次启动都会整体被挂掉(一个grid)。

这点需要注意一下。别是别的线程挂了,然后你需要输出的线程被连累了。

15
TX2升级到4.2版本的固件后,nvcamerasrc被废弃了
朋友们注意,如果要使用opencv利用TX2板载相机采集图像需要将原来的nvcamerasrc更改为nvarguscamerasrc

页: [1] 2 3 ... 7