Module Environment: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (paraphrasing) |
WilsonLisan (bicara | kontrib) (→Perintah Module Environment: paraphrasing) |
||
Baris 1: | Baris 1: | ||
User dapat menggunakan software (compiler / library / framework) yang terinstal di HPC Aleleon Mk.II melalui Module Environment. Module Environment adalah set modul yang berisikan alur PATH atau LIB untuk mengaktifkan software tertentu. | '''User dapat menggunakan software (compiler / library / framework) yang terinstal di HPC Aleleon Mk.II dengan memuat modul software tersebut melalui Module Environment'''. Module Environment adalah set modul yang berisikan alur PATH atau LIB untuk mengaktifkan software tertentu. | ||
== '''Perintah Module Environment''' == | == '''Perintah Module Environment''' == | ||
Baris 8: | Baris 8: | ||
|- | |- | ||
| | | | ||
$ module load <x> | $ '''module load''' <x> | ||
|Memuat modul <x>. User dapat memuat banyak modul sekaligus dengan: | |Memuat modul <x>. User dapat memuat banyak modul sekaligus dengan: | ||
$ module load <x> <y> <z> | $ module load <x> <y> <z> | ||
|- | |- | ||
| | | | ||
$ module unload <x> | $ '''module unload''' <x> | ||
|Melepas modul <x>. User juga dapat melepas banyak modul sekaligus seperti contoh diatas. | |Melepas modul <x>. User juga dapat melepas banyak modul sekaligus seperti contoh diatas. | ||
|- | |- | ||
| | | | ||
$ module list | $ '''module list''' | ||
|Melihat modul yang aktif pada saat itu. | |Melihat modul yang aktif pada saat itu. | ||
|- | |- | ||
| | | | ||
$ module purge | $ '''module purge''' | ||
|Melepas semua modul yang aktif. | |Melepas semua modul yang aktif. | ||
|- | |- | ||
| | | | ||
$ module av | $ '''module av''' | ||
|Melihat semua module yang tersedia di HPC Aleleon Mk.II | |Melihat semua module yang tersedia di HPC Aleleon Mk.II | ||
|- | |- | ||
| | | | ||
$ module av <keyword> | $ '''module av''' <keyword> | ||
|Mencari modul melalui nama / keyword. Contoh: mencari module yang mengandung kata ' | |Mencari modul melalui nama / keyword. Contoh: mencari module yang mengandung kata 'mpi' | ||
$ module av | $ module av mpi | ||
|- | |- | ||
| | | | ||
$ module switch <x> <y> | $ '''module switch''' <x> <y> | ||
|Mengganti modul <x> menjadi <y>. Contoh: user ingin mengganti module ' | |Mengganti modul <x> menjadi <y>. Contoh: user ingin mengganti module 'openmpi' yang sedang aktif dengan modul 'mpich': | ||
$ module switch | $ module switch openmpi mpich | ||
|} | |} | ||
== '''Daftar Module Environment''' == | == '''Daftar Module Environment''' == | ||
Selain perintah module av, user dapat melihat daftar modul yang sudah dirangkum oleh admin EFISON pada [[Software di HPC Aleleon Mk.II|'''Software di HPC Aleleon Mk.II''']]. | Selain perintah module av, user dapat melihat daftar modul untuk semua software yang sudah dirangkum oleh admin EFISON pada laman [[Software di HPC Aleleon Mk.II|'''Software di HPC Aleleon Mk.II''']]. | ||
== '''Contoh Penggunaan Module Environment''' == | == '''Contoh Penggunaan Module Environment''' == | ||
Pada contoh dibawah ini, user ingin menggunakan | Pada contoh dibawah ini, user ingin menggunakan Open MPI. | ||
* Secara default, sistem tidak memuat | * Secara default, sistem tidak memuat Open MPI. | ||
[ale01@login ~]$ which mpicc | [ale01@login ~]$ which mpicc | ||
/usr/bin/which: no mpicc in (/usr/local/bin:/opt/rh/devtoolset-9/root/usr/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ale01/.local/bin:/home/ale01/bin | /usr/bin/which: no mpicc in (/usr/local/bin:/opt/rh/devtoolset-9/root/usr/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ale01/.local/bin:/home/ale01/bin | ||
* User memuat modul | * User memuat modul Open MPI (dengan nama modul 'openmpi') dengan perintah module load: | ||
[ale01@login ~]$ module load openmpi | [ale01@login ~]$ module load openmpi | ||
* Sekarang software | * Sekarang software Open MPI sudah aktif dan siap digunakan. | ||
[ale01@login ~]$ which mpicc | [ale01@login ~]$ which mpicc | ||
/comp/ | /comp/easybuild/software/OpenMPI/4.1.0-GCC-10.2.0/bin/mpicc | ||
* User dapat melakukan konfirmasi dengan perintah module list untuk melihat modul apa saja yang aktif. Pada contoh ini terlihat banyak modul yang aktif karena modul openmpi memuat modul pendukung lainnya supaya | * User dapat melakukan konfirmasi dengan perintah module list untuk melihat modul apa saja yang aktif. Pada contoh ini terlihat banyak modul yang aktif karena modul openmpi memuat modul pendukung lainnya supaya Open MPI berjalan dengan baik. | ||
[ale01@login ~]$ module list | [ale01@login ~]$ module list | ||
Baris 71: | Baris 68: | ||
3) binutils/2.35-GCCcore-10.2.0 8) libpciaccess/0.16-GCCcore-10.2.0 13) PMIx/3.1.5-GCCcore-10.2.0 | 3) binutils/2.35-GCCcore-10.2.0 8) libpciaccess/0.16-GCCcore-10.2.0 13) PMIx/3.1.5-GCCcore-10.2.0 | ||
4) GCC/10.2.0 9) hwloc/2.2.0-GCCcore-10.2.0 14) openmpi/4.1.0-GCC-10.2.0 | 4) GCC/10.2.0 9) hwloc/2.2.0-GCCcore-10.2.0 14) openmpi/4.1.0-GCC-10.2.0 | ||
5) numactl/2.0.13-GCCcore-10.2.0 10) libevent/2.1.12-GCCcore-10.2.0 | 5) numactl/2.0.13-GCCcore-10.2.0 10) libevent/2.1.12-GCCcore-10.2.0 | ||
* Untuk melepas semua modul yang aktif, gunakan perintah module purge kemudian lihat dengan module list bahwa tidak ada lagi modul yang aktif. | * Untuk melepas semua modul yang aktif, gunakan perintah module purge kemudian lihat dengan module list bahwa tidak ada lagi modul yang aktif. | ||
Baris 79: | Baris 76: | ||
No modules loaded | No modules loaded | ||
== '''Module Environment di SLURM | == '''Module Environment di SLURM Script''' == | ||
[[Manajemen SLURM Aleleon|'''Manajemen SLURM''']] dapat menggunakan semua perintah module environment yang ditaruh pada [[Contoh SLURM Script|'''SLURM script''']]. Module load pada SLURM Script bertujuan supaya '''Compute Node dapat menjalankan software yang dibutuhkan oleh komputasi user'''. | |||
Berikut adalah contoh SLURM Script yang mengandung perintah module load. | |||
#!/bin/bash | #!/bin/bash | ||
Baris 93: | Baris 92: | ||
# RUN COMMAND | # RUN COMMAND | ||
mpirun -np | mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx ./hellompi |
Revisi per 12 September 2021 03.19
User dapat menggunakan software (compiler / library / framework) yang terinstal di HPC Aleleon Mk.II dengan memuat modul software tersebut melalui Module Environment. Module Environment adalah set modul yang berisikan alur PATH atau LIB untuk mengaktifkan software tertentu.
Perintah Module Environment
Berikut adalah daftar perintah esensial untuk menggunakan Module Environment:
Perintah | Penjelasan |
---|---|
$ module load <x> |
Memuat modul <x>. User dapat memuat banyak modul sekaligus dengan:
$ module load <x> <y> <z> |
$ module unload <x> |
Melepas modul <x>. User juga dapat melepas banyak modul sekaligus seperti contoh diatas. |
$ module list |
Melihat modul yang aktif pada saat itu. |
$ module purge |
Melepas semua modul yang aktif. |
$ module av |
Melihat semua module yang tersedia di HPC Aleleon Mk.II |
$ module av <keyword> |
Mencari modul melalui nama / keyword. Contoh: mencari module yang mengandung kata 'mpi'
$ module av mpi |
$ module switch <x> <y> |
Mengganti modul <x> menjadi <y>. Contoh: user ingin mengganti module 'openmpi' yang sedang aktif dengan modul 'mpich':
$ module switch openmpi mpich |
Daftar Module Environment
Selain perintah module av, user dapat melihat daftar modul untuk semua software yang sudah dirangkum oleh admin EFISON pada laman Software di HPC Aleleon Mk.II.
Contoh Penggunaan Module Environment
Pada contoh dibawah ini, user ingin menggunakan Open MPI.
- Secara default, sistem tidak memuat Open MPI.
[ale01@login ~]$ which mpicc /usr/bin/which: no mpicc in (/usr/local/bin:/opt/rh/devtoolset-9/root/usr/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ale01/.local/bin:/home/ale01/bin
- User memuat modul Open MPI (dengan nama modul 'openmpi') dengan perintah module load:
[ale01@login ~]$ module load openmpi
- Sekarang software Open MPI sudah aktif dan siap digunakan.
[ale01@login ~]$ which mpicc /comp/easybuild/software/OpenMPI/4.1.0-GCC-10.2.0/bin/mpicc
- User dapat melakukan konfirmasi dengan perintah module list untuk melihat modul apa saja yang aktif. Pada contoh ini terlihat banyak modul yang aktif karena modul openmpi memuat modul pendukung lainnya supaya Open MPI berjalan dengan baik.
[ale01@login ~]$ module list Currently Loaded Modules: 1) GCCcore/10.2.0 6) XZ/5.2.5-GCCcore-10.2.0 11) UCX/1.9.0-GCCcore-10.2.0 2) zlib/1.2.11-GCCcore-10.2.0 7) libxml2/2.9.10-GCCcore-10.2.0 12) libfabric/1.11.0-GCCcore-10.2.0 3) binutils/2.35-GCCcore-10.2.0 8) libpciaccess/0.16-GCCcore-10.2.0 13) PMIx/3.1.5-GCCcore-10.2.0 4) GCC/10.2.0 9) hwloc/2.2.0-GCCcore-10.2.0 14) openmpi/4.1.0-GCC-10.2.0 5) numactl/2.0.13-GCCcore-10.2.0 10) libevent/2.1.12-GCCcore-10.2.0
- Untuk melepas semua modul yang aktif, gunakan perintah module purge kemudian lihat dengan module list bahwa tidak ada lagi modul yang aktif.
[ale01@login ~]$ module purge [ale01@login ~]$ module list No modules loaded
Module Environment di SLURM Script
Manajemen SLURM dapat menggunakan semua perintah module environment yang ditaruh pada SLURM script. Module load pada SLURM Script bertujuan supaya Compute Node dapat menjalankan software yang dibutuhkan oleh komputasi user.
Berikut adalah contoh SLURM Script yang mengandung perintah module load.
#!/bin/bash #SBATCH --ntasks=64 #SBATCH --mem=8GB #SBATCH --time=1:00:00 #SBATCH --output=result-%j.out #SBATCH --error=result-%j.err # MODULE module load openmpi # RUN COMMAND mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx ./hellompi