我在fortran中有一个代码,我编译后发送到超级计算机中作为pbs作业运行.我想修改源代码并再次编译它,同时保持已经运行的程序.我的问题是如果我修改源代码并生成一个新的可执行文件,如果我有一个运行不同的可执行文件的pbs作业会发生什么.是否会修改原始可执行文件的结果?
谢谢.
我可以使用以下命令在目录中找到更改过去4分钟的文件:
find ~ -type f -mmin -4
Run Code Online (Sandbox Code Playgroud)
我怎么能找到没有改变最后X分钟的文件?
谢谢.
我有一个数据文件,如下所示:
0.00000-130250.92921 28880.20200-159131.13121 301.58706
0.05000-130250.73120 28156.69202-158407.42322 294.03167
0.10000-130250.79137 28237.16138-158487.95275 294.87198
0.15000-130250.81209 28168.63042-158419.44250 294.15634
0.20000-130250.82418 28149.57611-158400.40029 293.95736
0.25000-130250.88438 28069.57135-158320.45573 293.12189
0.30000-130251.06059 28071.30576-158322.36635 293.14000
0.35000-130250.96639 28084.46351-158335.42990 293.27741
Run Code Online (Sandbox Code Playgroud)
正如您所看到的那些以" - "开头的列连接到前一个列,例如:0.35000-130250.96639,这应该是0.35000和-130250.96639.我可以用VIM分隔列,但我想知道是否可以用AWK做到这一点.
谢谢.
这篇文章与之前将线程绑定到某些 MPI 进程相关。在这里,有人询问如何为 MPI 等级分配不同数量的 OpenMP 线程。一种可能性如下
$ mpiexec <global parameters>
-n n1 <local parameters> executable_1 <args1> :
-n n2 <local parameters> executable_2 <args2> :
...
-n nk <local parameters> executable_k <argsk>
Run Code Online (Sandbox Code Playgroud)
我不知道独立实例 executable_1、executable_2、...、executable_k 是如何相互通信的。我的意思是,如果在执行期间的某个时刻他们需要交换数据,他们是否使用内部通信器(在实例之间)和内部通信器(在同一实例中,例如可执行文件_1)?
谢谢。
我想使用Matlab中常用的样式用Gnuplot绘制3D直方图.我遵循的步骤顺序是:
set palette defined ( 0 '#000090',\
1 '#000fff',\
2 '#0090ff',\
3 '#0fffee',\
4 '#90ff70',\
5 '#ffee00',\
6 '#ff7000',\
7 '#ee0000',\
8 '#7f0000')
set pm3d at s
set view map
splot 'test.dat' u 1:2:3
Run Code Online (Sandbox Code Playgroud)
正如您在下面的数据中看到的,大多数条目都为零,这使得绘图非常蓝.在Matlab中,可以制作这种类型的直方图,零值具有白色.只有不为零的点具有上面调色板中的颜色.我希望这些点是白色的,因为这会强调实际的采样区域.
我想知道我们是否可以在Gnuplot那样做.我试图在数据文件中省略零,但它导致了一个尖角图.
另外,我修改了明确定义零值的调色板,如下所示:
set palette defined ( 0 '#ffffff',\
1 '#000090',\
2 '#000fff',\
3 '#0090ff',\
4 '#0fffee',\
5 '#90ff70',\
6 '#ffee00',\
7 '#ff7000',\
8 '#ee0000',\
9 '#7f0000')
Run Code Online (Sandbox Code Playgroud)
但是,采样区域的边框看起来是紫色的:
谢谢.
1 1 1
1 2 0
1 3 0
1 4 0
1 5 0
1 …Run Code Online (Sandbox Code Playgroud) 我想将光标移动到特定位置,比如第 64 行和第 40 列。有没有办法在命令行上执行此操作。
我通常做的事:
:64
40|
Run Code Online (Sandbox Code Playgroud)
但是有没有一种方法可以将这两个命令合并为一个,以便我可以在命令行上输入所有内容?
谢谢。
我在几个地方读到 Julia 代码的性能可以(在某些条件下)与 Fortran 相比较。我在 Julia 中编写了以下代码:
Pi = 3.141592653589793238462643
n = 100000
function integration_2d(n,Pi,sum)
h = Pi/n
for i=1:n
x = h*(i-0.5)
for j=1:n
y = h*(j-0.5)
sum = sum + cos(x + y)
end
end
sum*h*h
end
Run Code Online (Sandbox Code Playgroud)
平均执行时间为 180 秒。与使用-O3选项编译的 Fortran 代码相比,结构非常接近的 Fortran 代码的执行时间为 0.013 秒。我想知道 Julia 代码在哪里失去了性能,任何评论都值得赞赏。谢谢。
我想hist(1:1000)在使用OpenMPI的不同处理器上调用相同的数组,这样当一个处理器修改时,hist这个修改在其余的处理器中更新.
我已经编写了一个代码并声明hist(1:1000)但问题是hist在每个处理器上独立更新,然后我做的是将数据发送到"主节点",以便根据从站的信息更新另一个直方图,但这是我不想要的.我想在每个处理器上更新相同的直方图.
是否可以使用OpenMPI执行此操作?