Gift-BTE

Gift-ΒΤΕ 是对介观尺度的声子导热问题进行数值计算的C++软件,由上海交通大学密西根学院、未来技术学院鲍华课题组开发。该软件可以用于各种微纳结构的声子导热仿真,包括但不限于半导体器件、微纳多孔结构等。

可用版本

版本

平台

构建方式

模块名

1.0

cpu

源码

bte/1.0-openmpi-3.1.5 π2.0

1.0

cpu

源码

bte/1.0-openmpi-4.1.5 π2.0 kos

安装方法,以Pi2.0集群为例

srun -p cpu -n 4 --pty /bin/bash
git clone https://github.com/Gift-BTE-developer/Gift-BTE.git
mv GiftBTE bte
module load openmpi/4.1.5-gcc-8.5.0
module load cmake/3.26.3-gcc-8.5.0
cd bte
cmake -B cpu-build -S. -DCMAKE_BUILD_TYPE=Release
cd cpu-build
make

kos系统下bte运行脚本

#!/bin/bash

#SBATCH --job-name=bte
#SBATCH --partition=cpu
#SBATCH -N 1
#SBATCH --ntasks-per-node=16
#SBATCH --output=%j.out
#SBATCH --error=%j.err

module purge
module load bte/1.0-openmpi-4.1.5

mpirun -np 16 BTE_CPU

算例获取

mkdir ~/bte && cd ~/bte
cp -r /lustre/share/benchmarks/bte/input.tar.gz ./
tar xf input.tar.gz

作业运行

π2.0集群

作业运行前数据、脚本所在目录如下所示:

[hpc@login3 BTE]$ tree data/
data/
├── input
│   ├── FinFet_3D_2500.mphtxt
│   ├── heatfile.dat
│   ├── inputband_8.dat
│   ├── inputbc_Finfet.dat
│   ├── inputdata.dat
│   └── inputmesh.dat
├── input.tar.gz
└── run.slurm

运行脚本如下所示:

#!/bin/bash
#SBATCH --job-name=bte-test
#SBATCH --partition=cpu
#SBATCH -N 2
#SBATCH --ntasks-per-node=32
#SBATCH --exclusive
#SBATCH --output=%j.out
#SBATCH --error=%j.err

export OMP_NUM_THREADS=1
module load bte
mpirun  BTEcmd

提交上述作业

sbatch run.slurm

作业运行结束后的目录如下所示:

[hpc@login3 BTE]$ tree data/
data/
├── 9729078.err
├── 9729078.out
├── Boundary_heat_flux.dat
├── HeatFlux.dat
├── input
│   ├── FinFet_3D_2500.mphtxt
│   ├── heatfile.dat
│   ├── inputband_8.dat
│   ├── inputbc_Finfet.dat
│   ├── inputdata.dat
│   └── inputmesh.dat
├── Interface_emit_temp.dat
├── run.slurm
├── Tempcell1.dat
├── Tempcell2.dat
└── Tempcell.dat

上述文件的具体含义可参考BTE官方网站:bte.sjtu.edu.cn.

文件内容最后一行显示如下内容,代表作业运行正确。

[hpc@login3 data]$ tail -n 1 9729078.out
Time taken by iteration: 509080 milliseconds

运行结果

π2.0

bte/1.0-openmpi-3.1.5

核数

16

32

64

时间 milliseconds

637674

618820

509080

参考资料


最后更新: 2024 年 11 月 19 日