小编cac*_*che的帖子

在一个GPU上运行多个CUDA应用程序

CUDA文档没有具体说明有多少CUDA进程可以共享一个GPU.例如,如果同一个用户在系统中只安装了一个GPU卡的情况下启动了多个CUDA程序,效果如何?它会保证执行的正确性吗?在这种情况下,GPU如何安排任务?

cuda gpu gpgpu nvidia

24
推荐指数
1
解决办法
1万
查看次数

使用名称启动进程

基本上我想动态启动一些可能创建自己的子进程的进程,我也希望在我想要的时候杀死我刚创建的某组进程.我能想到的一种方法是使用名称启动进程(以区分为一组),然后使用pkill通过名称来杀死它们.问题是如何使用名称启动进程,以便我可以使用pkill来杀死它们的名称?我也对其他解决方案持开放态度.

linux process kill-process

11
推荐指数
2
解决办法
2万
查看次数

Linux:echo $是什么!在Linux?

谁能告诉我echo $是什么!意思是它是怎么来的(意思是'$'和'!')?

谢谢

linux

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

使用CostModel获取LLVM IR的cpu周期

从LLVM 3.0开始,Analysis目录下有CostModel.cpp.它说,参考它的文档

该文件定义了成本模型分析.它为LLVM-IR提供了非常基本的成本估算.此分析使用codegen的服务来估算降低到机器指令时任何IR指令的成本.成本结果是无单位的,并且成本数字表示机器的吞吐量,假设所有负载都到达高速缓存,所有分支都被预测,等等.可以添加成本数字以便比较两个或更多个转换备选方案.

我想知道我应该如何编译和使用这个传递IR文件.具有适当命令的具体示例将是完美的.

llvm llvm-ir

5
推荐指数
1
解决办法
324
查看次数

NVPTX架构中的通用内存空间位置

在用于CUDA程序的NVPTX(LLVM IR)中,存储器地址空间的标识符从0到5(参见下表).

在此输入图像描述

我在同一个LLVM IR程序中看到,内存地址被标识为"Generic"或其他类型,如图片所示.

对于'Generic'(默认情况下,没有标识符): 在此输入图像描述

用以分享': 在此输入图像描述

我的问题是,对于通用存储器地址空间,数据实际位于硬件,片外,片上存储器或本地寄存器中的哪个位置?有人能解释一下最终管理泛型类型的地址空间吗?

architecture cuda llvm llvm-ir ptx

4
推荐指数
1
解决办法
377
查看次数

cuda异常后的内存数据状态

在CUDA应用程序抛出异常后,CUDA文档不清楚内存数据如何变化.

例如,内核启动(动态)遇到异常(例如Warp超出范围的地址),将停止当前的内核启动.在此之后,设备上的数据(例如__device__变量)是否仍然保留,或者它们是否与例外一起被删除?

一个具体的例子是这样的:

  1. CPU启动内核
  2. 内核将__device__ variableA的值更新为5,然后崩溃
  3. CPU memcpy从设备到主机的variableA的值,在这种情况下CPU获得的值是5,还是其他什么?

有人能说明这背后的理由吗?

cuda exception-handling cuda-gdb

2
推荐指数
1
解决办法
751
查看次数