×
Yeni bir madde oluştur
Sayfa başlığınızı buraya yazın:
We currently have 15 articles on UHeM Wiki. Type your article name above or create one of the articles listed here!



    UHeM Wiki
    15Maddeler

    MATLAB Kullanım Kılavuzu

    Diswiki (mesaj | katkılar) tarafından oluşturulmuş 06.34, 1 Mart 2022 tarihli sürüm
    (fark) ← Önceki hâli | Güncel sürüm (fark) | Sonraki hâli → (fark)

    Sariyer Kümesinde MATLAB Yazılımını Komut Arabiriminden Çalıştırmak

    Merkezimizdeki sariyer kümesinde kurulu bulunan MATLAB yazılımı 9.1 (R2016b) ve 9.3 (R2017b) sürümleridir ve lisansımız aşağıdaki gibidir:


    MATLAB:  20 licenses
    
    MATLAB_Distrib_Comp_Engine:  128 licenses
    
    SIMULINK:  10 licenses
    
    GADS_Toolbox:  20 licenses
    
    Image_Toolbox:  10 licenses
    
    Compiler:  10 licenses
    
    Optimization_Toolbox:  20 licenses
    
    Distrib_Computing_Toolbox:  10 licenses
    
    PDE_Toolbox:  10 licenses
    
    Symbolic_Toolbox:  10 licenses
    


    İlk satırdaki lisans matlab kodumuzun paralel çalışması için gereken lisansdır ve görüleceği üzere 128 adet lisansımız mevcuttur. Yani en fazla 20 program ve tümünün toplamı 128 işlemciye kadar matlab işi çalıştırılabilmektedir. Ayrıca sadece yukarıda lisansta gözüken toolbox'lar kullanılabilir. Diğer toolbox'lar lisans olmadığından kullanılamaz.

    Tek makinada Matlab çalıştırmak

    Matlab programı (.m uzantılı program dosyası) çalıştırmak için gereken iş dosyası aşağıdaki gibidir. Bu betiği sariyer makinasında /okyanus/progs/slurm_betikleri/matlab-R2016b.sh ve /okyanus/progs/slurm_betikleri/matlab-R2017b.sh adresinde bulabilirsiniz:

    #!/bin/bash
    #SBATCH -A hsaat                               # account / proje adi
    #SBATCH -n 28                                  # cekirdek / islemci sayisi
    #SBATCH -N 1                                   # makina sayisi / ilave ayar yapmadikca mutlaka 1 olmali
    #SBATCH -L matlab@flex5,matlabpar@flex5:28     # lisans isteniyor, buradaki sayi kullanilan cekirdek sayisi ile ayni olmali
     
    module load MATLAB/R2016b
     
    matlab -nodisplay -nosplash < ./programimiz.m
    


    Yukarıdaki örnekte makina sayısı kullanıcı mutlaka 1 olmalıdır. Dolayısı ile bu ayar yapılmazsa, en fazla 1 makinada 28 işlemci (longq kuyruğunda 24 işlemci) kullanacak iş çalıştırılabilir. Daha fazla makina kullanımı aşağıda ayrı bir bölümde anlatılmıştır.


    Aşağıda bir paralel matlab programı örnek olarak verilmiştir. Bu program http://hpcf.umbc.edu/other-packages/how-to-run-matlab-programs-on-maya sitesinden alınarak değiştirilmiştir. Ayrıca MATLAB dökümantasyonunada http://www.mathworks.com/help/pdf_doc/distcomp/distcomp.pdf adresinden ulaşabilirsiniz:


    UHeM = parcluster('local');
    poolobj = parpool(UHeM,28);
    spmd
        msg = sprintf('Hello world from process %d of %d', labindex, numlabs);
    end
     
    for i=1:poolobj.NumWorkers
        disp(msg{i});
    end
    delete(poolobj);
    


    Birden çok makinada Matlab çalıştırmak

    Birden çok makinada Matlab programı (.m uzantılı program dosyası) çalıştırmak için gereken iş dosyası aşağıdaki gibidir. Bu betiği sariyer makinasında /okyanus/progs/slurm_betikleri/matlab-R2016b-multinode.sh ve /okyanus/progs/slurm_betikleri/matlab-R2017b-multinode.sh adresinde bulabilirsiniz. Aşağıdaki betikte servisleri başlatmak için verilen R2016b ifadesi, R2017b sürümü için R2017b şeklinde olacaktır:

    #!/bin/bash
    #SBATCH -A hsaat                               # account / proje adi
    #SBATCH -n 56                                  # cekirdek / islemci sayisi
    #SBATCH -N 2                                   # makina sayisi / ilave ayar yapmadikca mutlaka 1 olmali
    #SBATCH -L matlab@flex5,matlabpar@flex5:56     # lisans isteniyor, buradaki sayi kullanilan cekirdek sayisi ile ayni olmali
     
    module load MATLAB/R2016b
    #MATLAB servisleri aciliyor, asagidaki satiri degistirmeyiniz:
    /okyanus/progs/matlabAyarla/matlab_servisleri_baslat.sh R2016b
    
     
    matlab -nodisplay -nosplash < ./programimiz.m
    
    
    #MATLAB servisleri aciliyor, asagidaki satiri degistirmeyiniz:
    /okyanus/progs/matlabAyarla/matlab_servisleri_durdur.sh R2016b
    


    Yukarıdaki örnekte matlab servislerinin açılması ve kapanması oldukça uzun zaman almaktadır, bu sebeble işiniz gerçekten gerektirmedikce yukarıdaki 1 makina için olan betiği kullanınız.


    Aşağıda bir paralel matlab programı örnek olarak verilmiştir. Bu program http://hpcf.umbc.edu/other-packages/how-to-run-matlab-programs-on-maya sitesinden alınarak değiştirilmiştir. Ayrıca MATLAB dökümantasyonunada http://www.mathworks.com/help/pdf_doc/distcomp/distcomp.pdf adresinden ulaşabilirsiniz:


    profile_UHeM = parallel.importProfile('matlab-UHeM');
    UHeM = parcluster(profile_UHeM);
    
    poolobj = parpool(UHeM,56);
    spmd
        msg = sprintf('Hello world from process %d of %d', labindex, numlabs);
    end
     
    for i=1:poolobj.NumWorkers
        disp(msg{i});
    end
    delete(poolobj);
    

    Sariyer Kümesinde Grafik Arabirimle Matlab Çalıştırmak

    Grafik arabirimle Matlab çalıştırmak için öncelikle x2go client yazılımını kendi bilgisayarımıza kurmalıyız. Gerekli açıklamaları Sariyer Kümesine İş Vermek sayfasında bulabilirsiniz.


    Sonrasında grafik arayüzle matlab çalıştırmak için gereken işlemler, Sariyer Kümesinde Grafik Arabirim Kullanarak İnteraktif İş Çalıştırmak sayfasında anlatılmıştır.