2016-08-27 24 views
7

Bazı bilgisayar küme kullanmak SLURM kullanıyordu ve onu -ntasks veya -n vardı. o (http://slurm.schedmd.com/sbatch.html) için Açıkçası belgelerine okudum:--nlarks veya -n görevleri SLURM'de ne yapıyor?

sbatch görevlerini başlatmak değil, bu kaynakların bir tahsisini talep ve bir toplu komut dosyası gönderir. Bu seçenek Slurm kontrolörünü tahsisi içinde yayınlanması O iş adımlarını sayı görevlerin en fazla başlatacak ve yeterli kaynaklara sağlamak için öneriyor. Varsayılan düğüm başına bir iştir, fakat --cpus başına görev seçeneği bu varsayılan değiştireceğini unutmayın.

özel parçası ne anlama geldiğini anlamıyorum: tahsisi içinde

çalışma sayısı görevlerin en fazla başlatacak ve için yeterli kaynaklar için sağlayacaktır.

Ben bir kaç soru var:
  1. benim ilk soru kelime "görev" ne olduğunu tahmin demek ve fark Slurm bağlamında kelime "iş" ile. Genelde, bash betiği altında, sbatch my_batch_job.sh'daki gibi bir işi düşünürüm. Görevin ne anlama geldiğinden emin değilim.
  2. Ben iş kelimesi görevi denk geliyorsa
  3. sonra ben -n, --ntasks=<number> için argüman göre aynı özdeş bash komut birden çok kez koştu olurdu düşündüm. Ancak, açık bir şekilde kümede test ettim, --ntask=9 ile bir echo hello koştu ve ben sbatch 912 kez stdout için yankılandıracağını bekledim ( slurm-job_id.out içinde toplandı, ama benim sürprizim için, benim eko ​​Merhaba komutumun tek bir yürütme oldu Bu komut bile ne yapıyor? o hiçbir şey yapmaz ya da en azından ben yapıyor olması varsayalım neyin göremiyorum görünüyor.

Ben -a, --array=<indexes> seçenek birden işler için var biliyorum. Bu bir farklı konu. sadece --ntasks ben kümede bunu test böylece ideal bir örnek daha yapması ne olduğunu varsayalım bilmek istiyorum.

cevap

7

"--ntasks" seçenekleri, komutunuzun kaç örneğinin yürütüleceğini belirtir. Ortak bir küme kurulumu için ve komutunuzu "srun" ile başlatırsanız, bu MPI sıralarının sayısına karşılık gelir. Buna karşılık, "- görev başına" seçeneği, her görevin kaç CPU kullanabileceğini belirtir.

Çıktınız de beni şaşırtıyor. Komutunuzu komut dosyasında mı yoksa srun ile mi başlattınız? size gibi komut göz mu:

#!/bin/bash 
#SBATCH --ntasks=8 
## more options 
echo hello 

Bunun günümüze her zaman çıkış sadece tek bir satır, script sadece göndererek düğümü değil işçi üzerinde yürütülür çünkü.

#!/bin/bash 
#SBATCH --ntasks=8 
## more options 
srun echo hello 

srun komut işçisi düğümler üzerinde komutunu çalıştırmak ve sonuç olarak size merhaba 8 satır almalısınız neden sevdiği komut bakarsak.