Gift-BTE¶
Gift-ΒΤΕ 是对介观尺度的声子导热问题进行数值计算的C++软件,由上海交通大学密西根学院、未来技术学院鲍华课题组开发。该软件可以用于各种微纳结构的声子导热仿真,包括但不限于半导体器件、微纳多孔结构等。
可用版本¶
版本 |
平台 |
构建方式 |
模块名 |
---|---|---|---|
1.0 |
源码 |
bte/1.0-openmpi-3.1.5 π2.0 |
|
1.0 |
源码 |
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 日