小编Hai*_*ang的帖子

为什么MPI_Barrier不会同时停止跨不同节点的工作人员?

我使用以下代码在不同的盒子上的工作节点之间进行同步:

MPI_Barrier(MPI_COMM_WORLD); 

gettimeofday(&time[0], NULL); 
printf("RANK: %d starts at %lld sec, %lld usec\n",rank, time[0].tv_sec, time[0].tv_usec);
Run Code Online (Sandbox Code Playgroud)

当我在同一节点中运行两个任务时,开始时间非常接近:

RANK: 0 starts at 1379381886 sec, 27296 usec
RANK: 1 starts at 1379381886 sec, 27290 usec
Run Code Online (Sandbox Code Playgroud)

但是,当我在两个不同的节点上运行两个任务时,我得到了更多不同的开始时间:

RANK: 0 starts at 1379381798 sec, 720113 usec
RANK: 1 starts at 1379381798 sec, 718676 usec
Run Code Online (Sandbox Code Playgroud)

以下是不同的合理吗?或者它暗示节点之间存在一些通信问题?

mpi

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

为什么我们必须将指针传递给指向cudaMalloc的指针

以下代码广泛用于GPU全局内存分配:

float *M;
cudaMalloc((void**)&M,size);
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我们必须将指针传递给指向cudaMalloc的指针,以及为什么它的设计不像:

float *M;
cudaMalloc((void*)M,size);
Run Code Online (Sandbox Code Playgroud)

感谢任何简单的描述!

cuda

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

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

如何制作matplotlib下标和特殊字符?

我想为使用 matplotlib 绘制的绘图的轴标签制作下标。我有以下脚本快照:

import matplotlib.pylab as plt
plt.ylabel(r'$A^{2}$')
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  1. 在剧情中,下标“2”似乎占据了整个字长而不是一半,这让剧情有点奇怪。如何使下标变小(大小和长度跨度)?

  2. 如何显示“埃”(长度单位10^-10m)而不是A?

谢谢!

python matplotlib

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

我们可以在内核运行期间获得准时打印输出吗?

我意识到"cuPrintf"可以在内核中使用,但"cudaPrintfDisplay"只能用在CPU代码中.在我看来,"cuPrintf"只能在从内核返回后刷新到stdout.我的问题是:我们可以在内核运行期间获得准时打印输出吗?

cuda

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

cudaStreamWaitEvent会阻止主机吗?

我知道cudaEventSynchronize将阻止主机,直到事件被触发.但是,cudaStreamWaitEvent怎么样?cudaStreamWaitEvent是否仅阻止指定的流,而主机将继续,或者主机也将被阻止?

cuda cuda-events

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

如何通过MacPort获取已安装软件包的大小?

port installed显示本地计算机上所有已安装的软件包,但有没有办法列出每个软件包的大小?谢谢!

macports

3
推荐指数
2
解决办法
795
查看次数

如何获得设备的GPU架构?

cudaGetDeviceProperties具有获取计算能力的属性(major.minor),但是,我们如何将GPU架构(sm _**)提供给设备的编译?

cuda

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

如何创建一个可以从主机和设备调用的内核函数?

以下试验提出了我的意图,但未能编译:

__host__ __device__ void f(){}

int main()
{
    f<<<1,1>>>();
}
Run Code Online (Sandbox Code Playgroud)

编译器投诉:

a.cu(5): error: a __device__ function call cannot be configured

1 error detected in the compilation of "/tmp/tmpxft_00001537_00000000-6_a.cpp1.ii".
Run Code Online (Sandbox Code Playgroud)

希望我的陈述清楚,并感谢您的建议.

cuda

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

为什么Perl中的system()结果不是我脚本的确切退出代码?

我有以下perl脚本(test.pl):

my $exit_code = system('./test.py');
print $exit_code."\n";
Run Code Online (Sandbox Code Playgroud)

那是试图从python可执行文件中捕获退出代码(test.py):

#!/bin/env python
import sys
sys.exit(2)
Run Code Online (Sandbox Code Playgroud)

直接运行python可执行文件返回2,这是我的预期:

> ./test.py
> echo $?
2
Run Code Online (Sandbox Code Playgroud)

但是,运行perl会返回不同的内容:

> perl test.pl
512
Run Code Online (Sandbox Code Playgroud)

为什么perl从python中捕获不同的退出代码?

perl

3
推荐指数
2
解决办法
194
查看次数