मेरे पास ऐसी मशीन तक पहुंच है जहां मेरे पास 10 कोर तक पहुंच है - और मैं वास्तव में उनका उपयोग करना चाहता हूं। क्या मैं अपने ही मशीन पर कर रही करने के लिए इस्तेमाल कर रहा हूँ कुछ इस तरह होगा:बैश: एकाधिक कोर पर एक ही प्रोग्राम चलाना
for f in *.fa; do
myProgram (options) "./$f" "./$f.tmp"
done
मैं 10 फ़ाइलें मैं पर ऐसा करना चाहते हैं - के, blah01.fa उन्हें blah00.fa कॉल, .. blah09.fa।
इस दृष्टिकोण के साथ समस्या यह है कि मेरा प्रोग्राम केवल एक समय में 1 कोर का उपयोग करता है, और इसे बहु-कोर मशीन पर ऐसा करने के लिए मैं 10 बार एक समय में 1 कोर का उपयोग कर रहा हूं, इसलिए मैं नहीं होगा अपनी अधिकतम क्षमता के लिए मेरी मास्किन का उपयोग करना।
मैं अपनी स्क्रिप्ट कैसे बदल सकता हूं ताकि यह मेरे सभी 10fa फ़ाइलों को एक ही समय में चला सके? मैंने Run a looped process in bash across multiple cores पर देखा लेकिन मुझे उस से कमांड प्राप्त नहीं हो सका जो मैं चाहता था।
आपने 'gnu समानांतर' की कोशिश की? तुम्हारे लिए क्या काम नहीं किया? –
क्या आपने उस उत्तर में gnu समानांतर सुझाव का उपयोग करने का प्रयास किया है? –
'seq 0 10 | समानांतर myProgram -opt1 -opt2 ./blah{}.fa ./blah {}। tmp' –