मैं स्लम के लिए नया हूं और मैं समानांतर में चलाने के लिए कई निष्पादन योग्य लॉन्च करने की कोशिश कर रहा हूं (नीचे दिए गए उदाहरण में यह सिर्फ दिनांक कमांड है)। मैं चाहता हूं कि वे अलग-अलग समय पर शुरू करें, थोड़े समय की देरी से अलग।

मैंने कुछ प्रयास किए हैं, sruns के बीच अतिरिक्त लाइनें जोड़ने की कोशिश कर रहे हैं, जैसे कि "srun sleep 5s &" या नीचे दिखाए गए "--begin" विकल्प के साथ। विशेष रूप से, "--begin" विकल्प यह कहने में विफल रहता है कि "--begin को अनदेखा कर दिया गया है क्योंकि नोड्स पहले से ही आवंटित किए गए हैं"।

ऐसा लगता है कि समानांतर मॉड्यूल हमारे क्लस्टर में उपलब्ध नहीं है।

#!/bin/bash
#SBATCH --output=parallel_test_%j.out   # Standard output and error log
#SBATCH --time=06:00:00
#SBATCH --nodes=1   # number of nodes
#SBATCH --ntasks=6   
#SBATCH --mem-per-cpu=1024M   # memory per CPU core

srun="srun -n1 -N1 --exclusive"
# --exclusive     ensures srun uses distinct CPUs for each job step
# -N1 -n1         allocates a single core to each task


$srun date &
$srun --begin=now+3 date &
$srun --begin=now+6 date &
$srun --begin=now+9 date &
$srun --begin=now+12 date &
$srun --begin=now+15 date &
wait

मुझे जो आउटपुट मिलता है वह निम्न है:

srun: error: --begin is ignored because nodes are already allocated.
srun: error: --begin is ignored because nodes are already allocated.
srun: error: --begin is ignored because nodes are already allocated.
srun: error: --begin is ignored because nodes are already allocated.
srun: error: --begin is ignored because nodes are already allocated.
Sun Jun 23 14:07:05 PDT 2019
Sun Jun 23 14:07:05 PDT 2019
Sun Jun 23 14:07:05 PDT 2019
Sun Jun 23 14:07:05 PDT 2019
Sun Jun 23 14:07:05 PDT 2019
Sun Jun 23 14:07:06 PDT 2019

मैं जो प्राप्त करना चाहता हूं वह निम्न आउटपुट है:

Sun Jun 23 13:22:54 PDT 2019
Sun Jun 23 13:22:57 PDT 2019
Sun Jun 23 13:23:00 PDT 2019
Sun Jun 23 13:23:03 PDT 2019
Sun Jun 23 13:23:06 PDT 2019
Sun Jun 23 13:23:09 PDT 2019

आपके सहयोग के लिए धन्यवाद

1
Vincent 23 जून 2019, 23:40

1 उत्तर

सबसे बढ़िया उत्तर

इस मामले में, --begin कोई मदद नहीं करेगा क्योंकि इसका उपयोग कार्य की शुरुआत को स्थगित करने के लिए किया जाता है, और कार्य पहले ही शुरू हो जाता है जब srun सबमिशन स्क्रिप्ट में चलाया जाता है।

आप इस तरह अनुरोधित व्यवहार प्राप्त कर सकते हैं:

$srun date &
sleep 3; $srun date &
sleep 3; $srun date &
sleep 3; $srun date &
sleep 3; $srun date &
sleep 3; $srun date &
wait

या इस तरह भी

$srun date &
$srun bash -c "sleep 3 ; date" &
$srun bash -c "sleep 6 ; date" &
$srun bash -c "sleep 9 ; date" &
$srun bash -c "sleep 12 ; date" &
$srun bash -c "sleep 15 ; date" &
wait

के बारे में

ऐसा लगता है कि समानांतर मॉड्यूल हमारे क्लस्टर में उपलब्ध नहीं है

इसका मतलब यह नहीं है कि आप इसे स्वयं स्थापित नहीं कर सकते (देखें यह प्रश्न)। यदि आपके क्लस्टर पर Easybuild स्थापित है, तो यह और भी आसान हो जाता है। (यदि ऐसा नहीं है, तो आप इसे स्वयं भी स्थापित कर सकते हैं) फिर आप --delay विकल्प का उपयोग कर सकते हैं।

parallel --delay 3 $srun date
0
damienfrancois 26 जून 2019, 12:21