TRUBA’da MATLAB Dosyası Çalıştırmak

  • Kullanacağınız MATLAB versiyonuna karar verdiyseniz

  • İş göndereceğiniz sunucuya karar verdiyseniz

  • SLURM betik dosyası hazırlamakla ilgili bilgi edindiyseniz

  • MATLAB lisans dosyanızı arayüz sunucusuna aktardıysanız

Örnek bir betik dosyasını /arf/sw/scripts/matlab dizininin altında inceleyebilir ve işlerinizi kümeye gönderebilirsiniz.

MATLAB ve SLURM dosyası (Tıklayınız)
##  test.m dosyasinin icerigi
A=rand(100,100);
B=rand(100,100);
C=A*B;
size(C);
quit
#!/bin/bash


### matlab.slurm dosyasinin icerigi

$MATLAB_DIR/bin/matlab -nodisplay -nosplash < test.m > OUTPUTFILE.out
exit

#!/bin/bash
#SBATCH -A kullanici_kuyruk_hesabi #kendi kuyruk hesabinizi yaziniz.
#SBATCH -J matlab
#SBATCH -p hamsi #isi gondermek istediginiz kuyrugun adini yaziniz.
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -c 54
#SBATCH -C weka
#SBATCH --time=1:00:00

echo "SLURM_NODELIST $SLURM_NODELIST"
echo "NUMBER OF CORES $SLURM_NTASKS"

#kendi lisans dosyanizin adi ve tam yolu..
export MLM_LICENSE_FILE=$HOME/matlab_license.lic

## onceden yuklu moduller varsa, kaldirin
module purge

#Cevre degiskenleri modul ile load edebilir
module load apps/matlab/2024a


#ya da kendiniz elle yapilandirabilirsiniz.
#MATLAB_DIR=/arf/sw/apps/matlab/2024a
#export LD_LIBRARY_PATH=$MATLAB_DIR/lib:$LD_LIBRARY_PATH
#export PATH=$MATLAB_DIR/bin:$PATH


## test.m dosyasini calistirmak istediginiz matlab dosyasi ile degistirin
$MATLAB_DIR/bin/matlab -nodisplay -nosplash < test.m > OUTPUTFILE.out

exit

sbatch ile işinizi kuyruğa gönderebilirsiniz.

## isinizi kuyruga gondermek icin
sbatch test_matlab.slurm

## isinizin durumu hakkinda bilgi edinmek icin
squeue -u username

## isinizi iptal etmek isterseniz
scancel "JOBID"

Çalıştırmış olduğunuz dosya ile ilgili çıktı dosyaları (OUTPUTFILE.out, slurm-"jobid".err, slurm-"jobid".out) işi göndermiş olduğunuz klasörde yer alacaktır. Ayrıca .matlab klasörü altında da göndermiş olduğunuz işle ilgili detaylara da erişebilirsiniz.

Uyarı

Hesaplamalarınız için /arf/scratch dizininizi kullanmanız gerekmektedir.

“HPC sistemlerinde scratch klasörü, yoğun okuma/yazma işlemleri gerektiren işler için geçici, yüksek hızlı bir depolama alanı olarak kullanılır ve hesaplamalar sırasında verimli bir G/Ç performansı sağlar. Bu dizindeki dosyalar genellikle iş tamamlandıktan sonra silinir, böylece diğer görevler için kaynaklar serbest kalır. “

  • /arf/home sadece program kurulumları ve küçük işlerin çalıştırılması için düşünülmüştür.. Bu nedenle kotası 100GB’dır.

  • /arf/scratch sadece işlerin çalıştırılmalarını için planlanmıştır. Bu nedenle kotası 1TB’dır ve dosyaların maksimum bekleme süreleri 1 aydır.

Yüksek Performanslı Dosya Sistemleri

batch ile işinizi gönderirken output dosyasını iki farklı şekilde yazdırabilirsiniz (dosyanızın adı “INPUTFILE” olsun)

Uyarı

# Bu metot ile iş gönderdiğinizde çıktı dosyanız MATLAB tarafından oluşturulan ">>" karakterlerini içerecektir.
matlab -nodisplay -nosplash < INPUTFILE.m > OUTPUTFILE.out

# Bu metot ile çalıştırdığınızda betiğinizin sonunda (INPUTFILE) "quit" komutu yer almalıdır. Aksi takdirde MATLAB, calıştırmak için komut bekleyeceğinden hesaplama kaynaklarını boş yere meşgul edecektir.

matlab -nodisplay -nosplash -r INPUTFILE -logfile OUTPUTFILE.out