Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menyebarkan kluster dengan Templat ARM
Gunakan kluster node head tunggal untuk beban kerja Linux untuk menyebarkan kluster
Perhatikan bahwa
Compute Node Image
harus dengan akhiranHPC
, danCompute Node VM Size
harusStandard_H16r
atauStandard_H16mr
dalam seri H sehingga kluster bisa berkemampuan RDMA.
Menjalankan Intel MPI Benchmark Pingpong
Masuk ke head node hpc6267 dan ambil simpul online
Mengirimkan pekerjaan untuk menjalankan MPI Pingpong di antara simpul komputasi Linux
job submit /numnodes:2 "source /opt/intel/impi/`ls /opt/intel/impi`/bin64/mpivars.sh && mpirun -env I_MPI_FABRICS=shm:dapl -env I_MPI_DAPL_PROVIDER=ofa-v2-ib0 -env I_MPI_DYNAMIC_CONNECTION=0 -env I_MPI_FALLBACK_DEVICE=0 -f $CCP_MPI_HOSTFILE -ppn 1 IMB-MPI1 pingpong | tail -n30"
File host atau file komputer untuk tugas MPI dihasilkan secara otomatis
Variabel lingkungan
$CCP_MPI_HOSTFILE
dapat digunakan dalam perintah tugas untuk mendapatkan nama fileVariabel lingkungan
$CCP_MPI_HOSTFILE_FORMAT
dapat diatur untuk menentukan format file host atau file komputerFormat file host default adalah seperti:
nodename1 nodename2 … nodenameN
Ketika
$CCP_MPI_HOSTFILE_FORMAT=1
, formatnya seperti:nodename1:4 nodename2:4 … nodenameN:4
Ketika
$CCP_MPI_HOSTFILE_FORMAT=2
, formatnya seperti:nodename1 slots=4 nodename2 slots=4 … nodenameN slots=4
Ketika
$CCP_MPI_HOSTFILE_FORMAT=3
, formatnya seperti:nodename1 4 nodename2 4 … nodenameN 4
Periksa hasil tugas di Manajer Kluster HPC Pack 2016
Menjalankan beban kerja OpenFOAM
Mengunduh dan menginstal Intel MPI
Intel MPI sudah diinstal di gambar
CentOS_7.4_HPC
Linux, tetapi versi yang lebih baru diperlukan untuk membangun OpenFOAM, yang dapat diunduh dari pustaka Intel MPIUnduh dan instal Intel MPI secara diam-diam dengan clusrun
clusrun /nodegroup:LinuxNodes /interleaved "wget https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13063/l_mpi_2018.3.222.tgz && tar -zxvf l_mpi_2018.3.222.tgz && sed -i -e 's/ACCEPT_EULA=decline/ACCEPT_EULA=accept/g' ./l_mpi_2018.3.222/silent.cfg && ./l_mpi_2018.3.222/install.sh --silent ./l_mpi_2018.3.222/silent.cfg"
Unduh dan kompilasi OpenFOAM
Paket OpenFOAM dapat diunduh dari halaman unduhan OpenFOAM
Sebelum membangun OpenFOAM, kita perlu menginstal dan
Development Tools
pada simpul komputasizlib-devel
Linux (CentOS), untuk mengubah nilai variabelWM_MPLIB
dariSYSTEMOPENMPI
keINTELMPI
dalam filebashrc
pengaturan lingkungan OpenFOAM , dan untuk sumber file pengaturan lingkungan Intel MPI dan filempivars.sh
pengaturan lingkungan OpenFOAMbashrc
Secara opsional, variabel
WM_NCOMPPROCS
lingkungan dapat diatur untuk menentukan berapa banyak prosesor yang akan digunakan untuk mengkompilasi OpenFoam, yang dapat mempercepat kompilasiGunakan clusrun untuk mencapai semua hal di atas
clusrun /nodegroup:LinuxNodes /interleaved "yum install -y zlib-devel && yum groupinstall -y 'Development Tools' && wget https://sourceforge.net/projects/openfoamplus/files/v1806/ThirdParty-v1806.tgz && wget https://sourceforge.net/projects/openfoamplus/files/v1806/OpenFOAM-v1806.tgz && mkdir /opt/OpenFOAM && tar -xzf OpenFOAM-v1806.tgz -C /opt/OpenFOAM && tar -xzf ThirdParty-v1806.tgz -C /opt/OpenFOAM && cd /opt/OpenFOAM/OpenFOAM-v1806/ && sed -i -e 's/WM_MPLIB=SYSTEMOPENMPI/WM_MPLIB=INTELMPI/g' ./etc/bashrc && source /opt/intel/impi/2018.3.222/bin64/mpivars.sh && source ./etc/bashrc && export WM_NCOMPPROCS=$((`grep -c ^processor /proc/cpuinfo`-1)) && ./Allwmake"
Membuat berbagi dalam kluster
Buat folder bernama
openfoam
pada head node dan bagikan denganEveryone
Read/Write
izinMembuat direktori
/openfoam
dan memasang berbagi pada simpul komputasi Linux dengan clusrunclusrun /nodegroup:LinuxNodes "mkdir /openfoam && mount -t cifs //hpc6267/openfoam /openfoam -o vers=2.1,username=hpcadmin,dir_mode=0777,file_mode=0777,password='********'"
Ingatlah untuk mengganti nama pengguna dan kata sandi dalam kode di atas saat menyalin.
Menyiapkan file pengaturan lingkungan untuk menjalankan tugas MPI
Buat file
settings.sh
di berbagi dengan kode:#!/bin/bash # impi source /opt/intel/impi/2018.3.222/bin64/mpivars.sh export MPI_ROOT=$I_MPI_ROOT export I_MPI_FABRICS=shm:dapl export I_MPI_DAPL_PROVIDER=ofa-v2-ib0 export I_MPI_DYNAMIC_CONNECTION=0 # openfoam source /opt/OpenFOAM/OpenFOAM-v1806/etc/bashrc
Berhati-hatilah dengan akhiran baris jika file diedit pada head node, yang seharusnya
\n
bukan\r\n
Menyiapkan data sampel untuk pekerjaan OpenFOAM
Salin sampel
sloshingTank3D
di direktori tutorial OpenFOAM ke berbagiopenfoam
Secara opsional, ubah nilai dari
deltaT
0.05
ke0.5
dan nilaiwriteInterval
dari0.05
ke0.5
masuk/openfoam/sloshingTank3D/system/controlDict
untuk mempercepat pemrosesan dataUbah file
/openfoam/sloshingTank3D/system/decomposeParDict
dalam hal nomor inti yang akan digunakan, lebih lanjut lihat Panduan Pengguna OpenFOAM: 3.4 Menjalankan aplikasi secara paralel/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v1806 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // numberOfSubdomains 32; method hierarchical; coeffs { n (1 1 32); //delta 0.001; // default=0.001 //order xyz; // default=xzy } distributed no; roots ( ); // ************************************************************************* //
Siapkan data sampel di
/openfoam/sloshingTank3D
. Kode di bawah ini dapat digunakan saat melakukannya secara manual pada simpul komputasi Linux:cd /openfoam/sloshingTank3D source /openfoam/settings.sh source /home/hpcadmin/OpenFOAM/OpenFOAM-v1806/bin/tools/RunFunctions m4 ./system/blockMeshDict.m4 > ./system/blockMeshDict runApplication blockMesh cp ./0/alpha.water.orig ./0/alpha.water runApplication setFields
Kirim pekerjaan untuk mencapai semua hal di atas
set CORE_NUMBER=32 job submit "cp -r /opt/OpenFOAM/OpenFOAM-v1806/tutorials/multiphase/interFoam/laminar/sloshingTank3D /openfoam/ && sed -i 's/deltaT 0.05;/deltaT 0.5;/g' /openfoam/sloshingTank3D/system/controlDict && sed -i 's/writeInterval 0.05;/writeInterval 0.5;/g' /openfoam/sloshingTank3D/system/controlDict && sed -i 's/numberOfSubdomains 16;/numberOfSubdomains %CORE_NUMBER%;/g' /openfoam/sloshingTank3D/system/decomposeParDict && sed -i 's/n (4 2 2);/n (1 1 %CORE_NUMBER%);/g' /openfoam/sloshingTank3D/system/decomposeParDict && cd /openfoam/sloshingTank3D/ && m4 ./system/blockMeshDict.m4 > ./system/blockMeshDict && source /opt/OpenFOAM/OpenFOAM-v1806/bin/tools/RunFunctions && source /opt/OpenFOAM/OpenFOAM-v1806/etc/bashrc && runApplication blockMesh && cp ./0/alpha.water.orig ./0/alpha.water && runApplication setFields"
Membuat pekerjaan yang berisi tugas MPI untuk memproses tanggal
Membuat pekerjaan dan menambahkan 4 tugas dengan dependensi
Nama tugas Tugas dependen Inti-intinya Perintah Variabel lingkungan tugas1 Tidak tersedia 1 source /openfoam/settings.sh && decomposePar -force Tidak tersedia tugas2 tugas1 32 source /openfoam/settings.sh && mpirun -machinefile $CCP_MPI_HOSTFILE interFoam -parallel CCP_MPI_HOSTFILE_FORMAT=1 tugas3 tugas2 1 source /openfoam/settings.sh && reconstructPar Tidak tersedia task4 tugas3 32 source /openfoam/settings.sh && mpirun -machinefile $CCP_MPI_HOSTFILE foamToEnsight -parallel CCP_MPI_HOSTFILE_FORMAT=1 Atur direktori kerja ke
/openfoam/sloshingTank3D
dan output standar ke${CCP_JOBID}.${CCP_TASKID}.log
setiap tugasCapai semua di atas dengan perintah:
set CORE_NUMBER=32 job new job add !! /workdir:/openfoam/sloshingTank3D /name:task1 /stdout:${CCP_JOBID}.${CCP_TASKID}.log "source /openfoam/settings.sh && decomposePar -force" job add !! /workdir:/openfoam/sloshingTank3D /name:task2 /stdout:${CCP_JOBID}.${CCP_TASKID}.log /depend:task1 /numcores:%CORE_NUMBER% /env:CCP_MPI_HOSTFILE_FORMAT=1 "source /openfoam/settings.sh && mpirun -machinefile $CCP_MPI_HOSTFILE interFoam -parallel" job add !! /workdir:/openfoam/sloshingTank3D /name:task3 /stdout:${CCP_JOBID}.${CCP_TASKID}.log /depend:task2 "source /openfoam/settings.sh && reconstructPar" job add !! /workdir:/openfoam/sloshingTank3D /name:task4 /stdout:${CCP_JOBID}.${CCP_TASKID}.log /depend:task3 /numcores:%CORE_NUMBER% /env:CCP_MPI_HOSTFILE_FORMAT=1 "source /openfoam/settings.sh && mpirun -machinefile $CCP_MPI_HOSTFILE foamToEnsight -parallel" job submit /id:!!
Dapatkan hasil
Periksa hasil pekerjaan di Manajer Kluster HPC Pack 2016
Hasil sampel sloshingTank3D dihasilkan sebagai file
\\hpc6267\openfoam\sloshingTank3D\EnSight\sloshingTank3D.case
, yang dapat dilihat oleh Ensight