两种队列默认情况下,都会占用系统所有CPU,因此使用上述两种系统自带的Queue,有多个任务时,需要用户仔细阅读下文后,自行配置队列!
用户可以创建多个Queue,便于根据每个作业大小使用不同的CPU核心数:
AMSjobs > Queue > New > Interactive,然后为这个队列取一个自己易于区分的名字(窗口的第一行),例如3-core(名字不能含中文、空格),然后将其中的export NSCM 改为export NSCM=N(其中N为希望设置的并行线程数,例如4、8、14等等,应小于或等于license许可并行数,试用许可一般最大为8核,当然也应该不大于计算机实际物理核数)。然后Save即可。
保存作业后,在AMSjobs窗口进入作业所在文件夹,选中一行(也就是一个)任务,或按住Ctrl或Shift键也可以选中多个任务,
然后点击菜单栏 Queue → 选择下方我们自定义的Queue的名字:
点击菜单栏jobs → run,那么被选中的任务就按照指定的队列去运行,每个任务使用的核数为该Queue设置的核数。
关于OMP_NUM_THREADS变量:ReaxFF模块用户,有一个变量OMP_NUM_THREADS需要注意,这个变量用的好,可以提高效率,但是用的不好则会降低效率。如果不想用,则需要在环境变量中将其设置为1,Win的设置方法:SCM → Preference → Environment点击+,增加该变量,并赋值为1即可:Linux用户可以在amsbashrc.sh最后增加一行:export OMP_NUM_THREADS=1。对于高级用户,如果您想使用该变量,请参阅:OMP_NUM_THREADS的运用
AMSJobs窗口,选中作业,菜单栏Job → Kill。等候几秒后,作业将杀死,右侧的状态图标显示为⭕中间一条斜杠即杀死。
请不要使用诸如Pause、Request early stop等选项!
参考:并行计算的效率与核心数
如果计算机连接局域网,CPU并行数据交换时需要去网关绕一圈回来,并行效率会下降,因此可以尝试断网并行计算。