自己电脑与集群上面跑的结果不同

各位老师好,

我之前在网站上问了一个问题,可是好几天过去了,并没有回复,不知道是不是工程师太忙了,所以在这边我用中文再询问一下。原问题的链接如下:

我的问题如下:
为了测试我们学校Linux集群上面的DEVICE CHARGE的测试性能,我找到了下面的几个网站作为参考:

我创建了两个同样的文件,分别在我自己的电脑以及学校的集群上面运行,但是结果截然不同。我自己电脑上面的结果看着是正确的,集群运行的结果,静电场分布十分混乱,明显是错误的电场分布,如下图所示:
图片

下面为两个运行好的文件链接:

我在集群上面使用的运行脚本为: “mpirun /appl/FDTD/2020a-r3/bin/device-engine-mpich2nem -t 1 APD_3.ldev”。 在此之前,我利用脚本成功运行了FDTD仿真,脚本如下: “mpirun /appl/FDTD/8.20.1661/bin/fdtd-engine-ompi-lcl -t 1 gr1_V7.fsp”。我查阅了网站,好像是因为FDTD支持更多的MPI类型。

所以,我想知道如何处理此类问题呢?怎样才能在集群上面得到正确的结果?

PS:以下为我仿真的结果及部分参数。整个的设计是基于横向SACM的Ge-Si APD,结构参考这篇文章:
4459305.pdf (419.1 KB)

掺杂浓度选择如下:
p++: 1*e20 cm-3

p+: 5*e17 cm-3

p: 5*e17 cm-3

n+: 2*e17 cm-3

n++: 1*e20 cm-3

i-Si: 1*e15 cm-3

图片

期待你的回复。
祝好!

你如果发在英语那边,一般来说就不能再发中文了,这次算例外,否则浪费资源.

你创建了两个文件?你应该用同一个文件在两台机器上分别跑才能说明问题.
另外,你设置的Dopping似乎与上图不完全一致,掺杂有叠加作用.

FDTD支持MPI, CHARGE,DGTD, 和FEEM 不需要另行设置就会自动应用系统的资源.

我测试了你的Cluster文件,的确与你源文件的结果不同.请提供你的Cluster的详细信息以及一些设置.

我另外在Linux系统测试同一个文件,结果也正确.

因此请来信告知你是怎么运行的(命令)和CLuster操作系统版本以及一些你的设置.

还有一个建议: 将PC的那个文件在Cluster上再测试一下.

老师:
你好!
我联系学校这边计算中心的工作人员,确认了是提交工作的脚本语言中出现了问题,mpirun只支持openmpi的文件,目前他们正在帮我调试此类文件该如何运行。

好的谢谢告知,等候进一步测试结果。不过,既然原来的脚本能够运行,难道它会把软件错误计算,有点不可思议。

老师:
你好!
继上次问题,这次我将在我电脑上运行成功的文件复制了一份,准备在集群上面运行。
经过计算中心的工作人员调试,目前可以利用脚本将文件提交到集群上。但是,总是得不到结果。返还的错误如下图所示:



文件在我自己的电脑上运行是没有问题的,但是上传到集群上显示无法找到仿真区域。
请问这个问题是怎么回事呢?是因为DEVICE不支持并行计算引起的吗?
祝好!

我提交文件的脚本如下:


有关我们学校集群的信息可以在如下网站查询:
https://www.hpc.dtu.dk/?page_id=2534

如果需要提供其他信息,请联系我。

DEVICE支持并行计算, 但是与FDTD不同,用户一般不需要设置,而是软件自行调配。
根据你上传的信息,似乎有些问题


1: -n 1 是指一个Process, -t 1 是指一个Thread。 但是CHARGE不能指定Thread,所以,建议你试一下 -n 1;
如果不工作,请将它们去掉, MPI之后直接跟文件名:

2: 请将License.ini 文件发来我们看看。

据说,计算网格时不需要并行计算,所以即使前面有问题,也可以生成网格。

你测试看看。

老师:
你好!

我按照建议,无论是将-t 1改成-n 1,还是完全去掉,最后都会显示与之前相同的错误,找不到仿真区间。如下图所示:


下面为我们的License.ini文件,请查收。

祝好!

老师:
你好!

我根据下面的网页把提交工作的脚本从
“/appl/FDTD/2020a-r3/mpich2/nemesis/bin/mpiexec.hydra /appl/FDTD/2020a-r3/bin/device-engine-mpich2nem -t 1 PIN_junction.ldev”
改成
“/appl/FDTD/2020a-r3/bin/device-engine-mpich2nem PIN_junction.ldev”
可以得到正确的仿真的结果,所以这部分算是没有问题了。

下面我对APD的文件进行仿真。在非雪崩电压下的电学性能也可以准确仿真,但是当我对偏压进行扫描时,出现了新的错误,集群与DEVICE返回的文件分别如下图所示:


仿真未完成便自动退出。

此处,我想了解的是,在对电压进行扫描时,会出现雪崩状态并导致整个结果发散,正常情况下,我们可以手动保存退出。但是在集群上面,这个要怎么操作呢?这样的错误是不是因为这个原因造成的呢?

祝好!

谢谢告知!

根据你的Log文件显示,连第一个电压点都没有,所以建议你先不要扫描,而是设置为0偏压,看看能否运行。能运行后,电压值不要太大,先用小步长测试。

再有问题请另外发新帖。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.