এমপিআইসিএইচ বনাম ওপেনএমপিআই


129

কেউ কি এমপিআই এর ওপেনএমপিআই এবং এমপিআইসিএইচ বাস্তবায়নের মধ্যে পার্থক্যগুলি বিস্তারিতভাবে বর্ণনা করতে পারে? দুজনের মধ্যে কোনটি আরও ভাল বাস্তবায়ন?



2
আমরা ব্যক্তিগতভাবে ওপেনটিএমপিআইকে আমাদের এমপিআই বাস্তবায়ন হিসাবে বেছে নিয়েছি। আমাদের জন্য, এটি আরও ভাল বেঞ্চমার্ক করেছে এবং বহনযোগ্যতা কোনও ইস্যুর মতো ছিল না। টেলর এল পোস্ট করা প্রশ্ন লিঙ্কটি দেখুন।
জোর্লেভ

1
আপনি এটিও বিবেচনা করতে পারেন যে গুগল প্রবণতাগুলিতে ওপেনএমপিআই এমপিআইসিএইচ / এমপিআইসিএইচ 2 এর চেয়ে 2-3 গুণ বেশি অনুসন্ধান করা হয়।
ফোয়েড

আমি MPICH আর (যেমন, উবুন্টু 18 এটি চালানোর করা যাবে না), IIRC এটা শুধুমাত্র নির্দিষ্ট কার্নেল সংস্করণ কাজ করে লিনাক্স সাম্প্রতিক সংস্করণগুলিতে সমর্থিত মনে
jrh

উত্তর:


148

উদ্দেশ্য

প্রথমত, এমপিআইসিএইচ এবং ওপেন-এমপিআই কীভাবে আলাদা তা বোঝার জন্য গুরুত্বপূর্ণ, অর্থাত তারা বিভিন্ন প্রয়োজন মেটাতে ডিজাইন করা হয়েছে। এমপিআইসিএইচ সর্বশেষতম এমপিআই স্ট্যান্ডার্ডের উচ্চ-মানের রেফারেন্স বাস্তবায়ন এবং বিশেষ উদ্দেশ্যগুলির চাহিদা পূরণের জন্য ডেরাইভেটিভ বাস্তবায়নের ভিত্তি হিসাবে বিবেচিত হবে। ওপেন-এমপিআই ব্যবহারের ক্ষেত্রে এবং নেটওয়ার্ক কন্ডোয়েট উভয় ক্ষেত্রেই সাধারণ ক্ষেত্রে লক্ষ্য করে।

নেটওয়ার্ক প্রযুক্তি জন্য সমর্থন

ওপেন-এমপিআই তাদের নেটওয়ার্ক সমর্থনটির ডকুমেন্টগুলি এখানে । এমপিআইসিএইচ প্রতিটি সংস্করণ (যেমন এটি 3.2.1 এর জন্য বিতরণ করা) এ বিতরণ করা রিডএমএতে এই তথ্যটি তালিকাভুক্ত করে । মনে রাখবেন যে ওপেন- MPI এবং MPICH উভয়ই OFI সমর্থন করে OF(ওরফে লিবাফ্যাব্রিক) নেটওয়ার্কিং স্তর, তারা একই নেটওয়ার্ককে অনেক সমর্থন করে। যাইহোক, লিবাফ্যাব্রিক একটি বহুমাত্রিক এপিআই, সুতরাং প্রতিটি নেটওয়ার্ক উভয় ক্ষেত্রেই একইরকম সমর্থিত হতে পারে না (যেমন এমপিআইসিএইচ-এর একটি অফি-ভিত্তিক আইবিএম ব্লু জিন / কিউ বাস্তবায়ন রয়েছে, তবে আমি ওপেন-এমপিআইতে সমমানের সমর্থন সম্পর্কে অবগত নই) । তবে এমপিআইসিএইচ এবং ওপেন-এমপিআই উভয়ের ওএফআই ভিত্তিক বাস্তবায়নগুলি শেয়ার্ড মেমোরি, ইথারনেট (টিসিপি / আইপি মাধ্যমে), মেল্লাক্স ইনফিনিব্যান্ড, ইন্টেল ওমনি পাথ এবং সম্ভবত অন্যান্য নেটওয়ার্কগুলিতে কাজ করছে। ওপেন-এমপিআই এই উভয় নেটওয়ার্ক এবং অন্যদের দেশীয়ভাবে সমর্থন করে (অর্থাত্ মাঝখানে অফআই ছাড়াই)।

অতীতে, এমপিআইসিএইচ সম্পর্কে একটি সাধারণ অভিযোগ হ'ল এটি ইনফিনিব্যান্ডকে সমর্থন করে না, যেখানে ওপেন-এমপিআই করে। তবে এমভিএপিইচএইচ এবং ইনটেল এমপিআই (অন্যদের মধ্যে) - উভয়ই এমপিআইসিএইচ ডেরিভেটিভস - ইনফিনিব্যান্ডকে সমর্থন করে, সুতরাং যদি কেউ এমপিআইএইচটিকে "এমপিআইএইচ এবং এর ডেরিভেটিভস" হিসাবে সংজ্ঞায়িত করতে ইচ্ছুক থাকে, তবে এমপিআইএইচএফই ইনফিনিব্যান্ড এবং স্বত্বাধিকারী উভয়ই সহ চূড়ান্ত নেটওয়ার্ক সমর্থন রাখে ক্রয় সমুদ্র, মিথুন এবং মেষের পাশাপাশি আইবিএম ব্লু জিন (/ এল, / পি এবং / কিউ) এর মতো আন্তঃসংযোগগুলি। ওপেন-এমপিআই ক্রে জেমিনি ইন্টারকানেক্টকে সমর্থন করে, তবে এর ব্যবহার ক্রে সমর্থন করে না। সাম্প্রতিককালে, এমপিআইসিএইচ একটি ইনফিনিব্যান্ডকে নেটমোডের মাধ্যমে সমর্থন করেছে (এখন অবমূল্যায়িত হয়েছে), তবে এমভিএপিসিএইচ 2 এর ব্যাপক অপ্টিমাইজেশন রয়েছে যা এটি প্রায় সব ক্ষেত্রেই পছন্দসই বাস্তবায়ন করে তোলে।

সর্বশেষতম এমপিআই স্ট্যান্ডার্ড থেকে বৈশিষ্ট্য সমর্থন

হার্ডওয়্যার / প্ল্যাটফর্ম সমর্থনের একটি অরথোগোনাল অক্ষ হ'ল এমপিআই স্ট্যান্ডার্ডের কভারেজ। এখানে এমপিআইসিএইচ সাধারণত দূরের এবং উচ্চতর হয়। এমপিআইএইচ এমপিআই -1 থেকে এমপিআই -3 পর্যন্ত এমপিআই মানের প্রতিটি একক রিলিজের প্রথম বাস্তবায়ন হয়েছে। ওপেন-এমপিআই সম্প্রতি এমপিআই -3 সমর্থন করেছে এবং আমি দেখতে পেয়েছি যে কয়েকটি প্ল্যাটফর্মগুলিতে কিছু MPI-3 বৈশিষ্ট্য বগি রয়েছে (এমপিআইএইচ অবশ্যই বাগ-মুক্ত নয়, তবে এমপিআই -3 বৈশিষ্ট্যগুলিতে বাগগুলি খুব কম সাধারণ ছিল)।

.তিহাসিকভাবে, ওপেন-এমপিআইয়ের সর্বাত্মক সমর্থন নেই MPI_THREAD_MULTIPLE, যা কিছু অ্যাপ্লিকেশনগুলির জন্য গুরুত্বপূর্ণ। এটি কিছু প্ল্যাটফর্মে সমর্থিত হতে পারে তবে সাধারণত কাজ করার জন্য ধরে নেওয়া যায় না। অন্যদিকে, এমপিআইসিএইচের MPI_THREAD_MULTIPLEবহু বছর ধরে সামগ্রিক সমর্থন রয়েছে , যদিও প্রয়োগটি সর্বদা উচ্চ-কার্যকারিতা হয় না ( একটি বিশ্লেষণের জন্য "মাল্টিথ্রেডেড এমপিআই বাস্তবায়নে লকিংয়ের দিকগুলি দেখুন " )।

ওপেন-এমপিআই 1.x এ ভাঙা আরেকটি বৈশিষ্ট্যটি ছিল একতরফা যোগাযোগ, ওরফে আরএমএ। এটি আরও সম্প্রতি স্থির করা হয়েছে এবং আমি দেখতে পেয়েছি যে এই বৈশিষ্ট্যগুলির খুব ভারী ব্যবহারকারী হিসাবে তারা সাধারণত ওপেন-এমপিআই 3.x এ ভালভাবে কাজ করছে (উদাহরণস্বরূপ ট্র্যাভিস সিআই-তে এআরএমসিআই-এমপিআই পরীক্ষার ম্যাট্রিক্স ফলাফলের জন্য আরএমএ দেখানোর জন্য দেখায়) কমপক্ষে শেয়ারড মেমোরির উভয়ই বাস্তবায়ন I've

প্রক্রিয়া ব্যবস্থাপনা

একটি ক্ষেত্র যেখানে ওপেন-এমপিআই উল্লেখযোগ্যভাবে উন্নত হত প্রসেস ম্যানেজার। পুরাতন এমপিআইসিএইচ লঞ্চ (এমপিডি) ছিল ভঙ্গুর এবং ব্যবহার করা শক্ত। ভাগ্যক্রমে, এটি বহু বছর ধরে অবহেলা করা হয়েছে ( বিশদগুলির জন্য এমপিআইএইচএইচএইচএইকিউ এন্ট্রি দেখুন)। এমপিডিসির কারণে এমপিআইসিএইচ-এর সমালোচনা উত্সাহজনক।

হাইড্রা প্রসেস ম্যানেজারটি বেশ ভাল এবং ওআরটিই (ওপেন-এমপিআইতে) হিসাবে একই রকমের ব্যবহারযোগ্যতা এবং বৈশিষ্ট্য সেট করেছে, যেমন উভয়ই প্রসেস টপোলজির উপর নিয়ন্ত্রণের জন্য এইচডব্লিউএলকি সমর্থন করে। বড়-বড় কাজের (1000+ প্রসেস) জন্য এমপিআইসিএইচ-ডেরিভেটিভসের চেয়ে ওপেন-এমপিআই প্রক্রিয়া আরম্ভ হওয়ার খবর পাওয়া গেছে, তবে যেহেতু আমার এখানে প্রথম অভিজ্ঞতা নেই, তাই আমি কোনও সিদ্ধান্তে বলতে স্বাচ্ছন্দ্যবোধ করি না। এই ধরনের কর্মক্ষমতা সম্পর্কিত সমস্যাগুলি সাধারণত নেটওয়ার্ক-নির্দিষ্ট এবং কখনও কখনও এমনকি মেশিন-নির্দিষ্টও থাকে।

ভিপিএন সহ ম্যাকওএস ব্যবহার করার সময় আমি ওপেন-এমপিআই আরও দৃ be় হতে পেরেছি, যেমন হোস্টনেম রেজোলিউশন সমস্যার কারণে এমপিআইসিএইচ স্টার্টআপে থাকতে পারে। এটি যেহেতু একটি বাগ, ভবিষ্যতে এই সমস্যাটি অদৃশ্য হয়ে যেতে পারে।

বাইনারি বহনযোগ্যতা

এমপিআইসিএইচ এবং ওপেন-এমপিআই উভয়ই ওপেন-সোর্স সফ্টওয়্যার যা বিস্তৃত প্ল্যাটফর্মে সংকলন করা যায়, বাইনারি আকারে এমপিআই গ্রন্থাগারগুলির বহনযোগ্যতা বা তাদের সাথে যুক্ত প্রোগ্রামগুলি প্রায়শই গুরুত্বপূর্ণ।

এমপিআইসিএইচ এবং এর অনেকগুলি ডেরাইভেটিভস এবিআইয়ের সামঞ্জস্যতা ( ওয়েবসাইট ) সমর্থন করে , যার অর্থ লাইব্রেরিতে বাইনারি ইন্টারফেসটি স্থির থাকে এবং সুতরাং একটিকে mpi.hএকটি বাস্তবায়ন থেকে সংকলন করতে পারে এবং পরে অন্যটির সাথে চালানো যায়। এমনকি লাইব্রেরির একাধিক সংস্করণ জুড়েও এটি সত্য। উদাহরণস্বরূপ, আমি প্রায়শই ইনটেল এমপিআই সংকলন করি তবে LD_PRELOADরানটাইমে এমপিআইসিএইচ-র একটি বিকাশ সংস্করণ। এবিআইয়ের সামঞ্জস্যের একটি বড় সুবিধা হ'ল আইএসভি (স্বতন্ত্র সফ্টওয়্যার বিক্রেতারা) এমপিআইসিএইচ পরিবারের এক সদস্যের সাথে সংকলিত বাইনারি প্রকাশ করতে পারে।

এবিআই একমাত্র ধরণের বাইনারি সামঞ্জস্য নয়। উপরে বর্ণিত পরিস্থিতিগুলি ধরে নেওয়া যায় যে ব্যবহারকারীরা এমপিআই লঞ্চারের একই সংস্করণ (সাধারণত mpirunবা mpiexecতার কমপুট নোড ডেমোন সহ) এবং এমপিআই লাইব্রেরি সর্বত্র ব্যবহার করে। এটি প্রয়োজনীয়ভাবে পাত্রে ক্ষেত্রে হয় না।

ওপেন-এমপিআই যদিও এবিআইয়ের সামঞ্জস্যের প্রতিশ্রুতি দেয় না, তারা ধারকগুলিকে সমর্থন করে ( ডকস , স্লাইড ) প্রচুর পরিমাণে বিনিয়োগ করেছে । এটির জন্য এমপিআই লঞ্চার, প্রবর্তক ডেমোনস এবং এমপিআই লাইব্রেরির বিভিন্ন সংস্করণ জুড়ে সামঞ্জস্যতা বজায় রাখতে খুব যত্ন নেওয়া দরকার কারণ কোনও ব্যবহারকারী ধারক সমর্থনে প্রবর্তক ডেমনের চেয়ে এমপিআই লঞ্চারের একটি নতুন সংস্করণ ব্যবহার করে কাজ শুরু করতে পারে। লঞ্চার ইন্টারফেসের স্থিতিশীলতার দিকে মনোযোগ না দিয়ে, লঞ্চারের প্রতিটি উপাদানগুলির সংস্করণ সুসংগত না হলে কনটেইনার কাজগুলি আরম্ভ হবে না। এটি একটি অনিবার্য সমস্যা নয়:

উদাহরণস্বরূপ, ডকার ওয়ার্ল্ড দ্বারা ব্যবহৃত ওয়ার্কআউন্ডটি হ'ল অ্যাপ্লিকেশনটির সাথে অবকাঠামোগত ধারককরণ। অন্য কথায়, আপনি নিজেই অ্যাপ্লিকেশন সহ ধারকটিতে এমপিআই ডিমন অন্তর্ভুক্ত করেন এবং তারপরে সমস্ত পাত্রে (এমপিএেক্সেক অন্তর্ভুক্ত) একই সংস্করণ হতে হবে। এটি আপনার পক্ষে ক্রস-সংস্করণ অবকাঠামো ক্রিয়াকলাপ না হওয়ায় এটি সমস্যাটিকে এড়িয়ে চলে।

আমি ধারক সংক্রান্ত বিষয়গুলি আমার কাছে ব্যাখ্যা করার জন্য ওপেন-এমপিআই দলের র‌্যালফ কাসটাইনকে স্বীকার করি। তাত্ক্ষণিক পূর্ববর্তী উক্তিটি তাঁর।

প্ল্যাটফর্ম-নির্দিষ্ট তুলনা

প্ল্যাটফর্ম-বাই প্ল্যাটফর্মের ভিত্তিতে আমার মূল্যায়ন এখানে দেওয়া হল:

  • ম্যাক ওএস: ওপেন-এমপিআই এবং এমপিআইসিএইচ উভয়েরই ঠিক কাজ করা উচিত। এমপিআই -3 স্ট্যান্ডার্ডের সর্বশেষতম বৈশিষ্ট্যগুলি পেতে, আপনাকে হোমব্রু থেকে পাওয়া ওপেন-এমপিআইয়ের সাম্প্রতিক সংস্করণটি ব্যবহার করতে হবে। আপনি যদি ম্যাক ল্যাপটপে চালাচ্ছেন তবে এমপিআই পারফরম্যান্স নিয়ে ভাবার কোনও কারণ নেই।

  • শেয়ারড মেমোরিযুক্ত লিনাক্স: ওপেন-এমপিআই এবং এমপিআইসিএইচ উভয়ই ঠিক কাজ করা উচিত। আপনি যদি একটি রিলিজ সংস্করণ চান যা সমস্ত MPI-3 বা MPI_THREAD_MULTIPLE সমর্থন করে তবে আপনার সম্ভবত MPICH প্রয়োজন, যদি না আপনি নিজেই ওপেন-এমপিআই তৈরি করেন, যেমন উবুন্টু 16.04 কেবল এপিটির মাধ্যমে প্রাচীন সংস্করণ 1.10 সরবরাহ করে। দুটি বাস্তবায়নের মধ্যে উল্লেখযোগ্য পারফরম্যান্সের পার্থক্য সম্পর্কে আমি অবগত নই। ওএস তাদের অনুমতি দিলে উভয়ই একক-অনুলিপি অপ্টিমাইজেশন সমর্থন করে।

  • মেলানাক্স ইনফিনিব্যান্ড সহ লিনাক্স: ওপেন-এমপিআই বা এমভিএপিসিএইচ 2 ব্যবহার করুন। আপনি যদি এমপিআই -3 বা সমস্ত সমর্থন করে এমন একটি সংস্করণ চান MPI_THREAD_MULTIPLEযা আপনার সম্ভবত এমভিএপিসিএইচ 2 প্রয়োজন। আমি দেখতে পেয়েছি যে এমভিএপিসিএইচ 2 খুব ভাল পারফরম্যান্স করে তবে ইনফিনিব্যান্ডে ওপেনএমপিআইয়ের সাথে সরাসরি তুলনা করেনি, কারণ অংশটি যা আমার জন্য সবচেয়ে বেশি গুরুত্বপূর্ণ (আরএমএ ওরফে একতরফা) তার জন্য ওপেন-এমপিআই ভেঙে গেছে।

  • ইন্টেল ওমনি পাথ (বা এর পূর্বসূরী, সত্য স্কেল) সহ লিনাক্স: আমি এমভিএপিসিএইচ 2, ইনটেল এমপিআই, এমপিআইসিএইচ এবং ওপেন-এমপিআই যেমন সিস্টেমগুলিতে ব্যবহার করি এবং সমস্তই কাজ করছে। ইন্টেল এমপিআই সর্বাধিক অনুকূলিত হয়েছে যখন ওপেন-এমপিআই ওপেন সোর্স বাস্তবায়নের সর্বোত্তম কর্মক্ষমতা সরবরাহ করেছে কারণ তাদের পিএসএম 2 ভিত্তিক ব্যাক-এন্ড রয়েছে a বিভিন্ন ওপেন-সোর্স বাস্তবায়ন কীভাবে তৈরি করা যায় সে সম্পর্কে আমার কাছে গিটহাবের কিছু নোট রয়েছে , তবে এই জাতীয় তথ্য বরং বাসি হয়ে যায়।

  • ক্রে বা আইবিএম সুপার কম্পিউটার: এমপিআই স্বয়ংক্রিয়ভাবে এই মেশিনগুলিতে ইনস্টল হয় এবং এটি উভয় ক্ষেত্রে এমপিআইসিএইচ উপর নির্ভর করে। সেখানে MPICH এর Cray XC40 (চালু বিক্ষোভ হয়েছে এখানে ব্যবহার করে) OFI Cray XC40 (চালু, ইনটেল MPI এখানে OFI (ব্যবহার ব্লু জিন / Q এ OFI, MPICH ব্যবহার করে) এখানে ), এবং ওপেন MPI Cray XC40 উভয়েই OFI এবং uGNI ব্যবহার ( এখানে ), তবে এর মধ্যে কোনও বিক্রেতা সমর্থিত নয়।

  • উইন্ডোজ: লিনাক্স ভিএম এর ব্যতীত আমি উইন্ডোজে এমপিআই চালানোর কোনও অর্থ দেখতে পাচ্ছি না, তবে মাইক্রোসফ্ট এমপিআই এবং ইন্টেল এমপিআই উভয়ই উইন্ডোজকে সমর্থন করে এবং এমপিআইসিএইচ ভিত্তিক। লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেম ব্যবহার করে এমপিআইসিএইচ বা ওপেন-এমপিআই সফল বিল্ডের রিপোর্ট শুনেছি তবে ব্যক্তিগত অভিজ্ঞতা নেই।

মন্তব্য

সম্পূর্ণ প্রকাশে, আমি বর্তমানে গবেষণা / পাথফাইন্ডিং সক্ষমতা (যেমন আমি কোনও ইনটেল সফ্টওয়্যার পণ্য নিয়ে কাজ করি না) এবং পূর্বে পাঁচ বছর ধরে আর্গন ন্যাশনাল ল্যাবের পক্ষে কাজ করেছি, যেখানে আমি এমপিআইসিএইচ দলের সাথে ব্যাপকভাবে সহযোগিতা করেছি, সেখানে ইনটেলের পক্ষে কাজ করি।


এটা সম্ভব যে সংগ্রহশালায় ভাগ করা মেমরির জন্য ওপেনএমপিআইয়ের উচ্চতর সমর্থন রয়েছে তবে আমার উত্তরটি আপডেট করার আগে আমাকে ভাল করে তদন্ত করতে হবে।
জেফ

2
আপনি কী উইন্ডোতে এমপিআই চালানোর কোনও অর্থ দেখছেন না তা ব্যাখ্যা করতে পারেন?
দিমিত্রি নেস্টারুক

3
না, তবে উইন্ডোজের এইচপিসি সম্পর্কে স্ট্যাকওভারফ্লোতে নতুন প্রশ্ন জিজ্ঞাসা করুন।
জেফ

@ জেফ, আপনি MPI_THREAD_MULTIPLEউত্তরটি হাইলাইট করেছেন , তবে এটির আগে ব্যবহার করার মতো অভিজ্ঞতা আমার কাছে নেই। আপনি কি এমন কিছু ব্যবহারকারীর কেস / উদাহরণ দিতে পারেন যেখানে MPI_THREAD_MULTIPLEঅন্যান্য মোডের সাথে তুলনা করা দরকারী এবং দক্ষ MPI THREAD FUNNELED? আমার প্রথম ধারণাটি এই ফাংশনটি প্রোগ্রামটিকে আরও জটিল এবং থ্রেড এবং প্রক্রিয়াটির মধ্যে ডিবাগ করা শক্ত করে তোলে। ধন্যবাদ।
প্যাট্রিক

1
কেবল একটি নোট যে ওপেন-এমপিআই এখন লিনাক্সের জন্য উইন্ডোজ সাবসিটিমে সংকলন করে জরিমানা করে - আমি এমপিচও অনুমান করব।
jawknee

12

আপনি যদি উত্পাদন ব্যবস্থার পরিবর্তে উন্নয়ন করেন তবে এমপিআইসিএইচ-এর সাথে যান। এমপিআইসিএইচ-এ বিল্ট-ইন ডিবাগার রয়েছে, যখন ওপেন-এমপিআই শেষ বার আমি যাচাই করে নি।

উত্পাদনে, ওপেন-এমপিআই সম্ভবত দ্রুততর হবে। তবে তারপরে আপনি অন্যান্য বিকল্পগুলি যেমন ইন্টেল এমপিআই গবেষণা করতে চাইতে পারেন।


3
বিল্ট-ইন ডিবাগার বলতে কী বোঝাতে চেয়েছি সে সম্পর্কে আমি নিশ্চিত নই, তবে আমি দেখতে পেয়েছি যে ওপেন- এমপিআইয়ের উদাহরণস্বরূপ gdb: open-mpi.org/faq/?category=debugging এর সাথে ভাল ইন্টিগ্রেশন রয়েছে ।
জেফ

উত্পাদনের জন্য, টিএও-র সাথে এমপিআইসিএইচ ব্যবহারের বিষয়ে কোনও চিন্তাভাবনা আছে কি?
নমু

10

আমি আগের পোস্টার সহ সম্মত। আপনার অ্যাপ্লিকেশনটি কোনটি দ্রুত চালিত হয় তা দেখার জন্য উভয়কেই চেষ্টা করুন এবং এটিকে উত্পাদনের জন্য ব্যবহার করুন। তারা উভয় মান সম্মতিযুক্ত। এটি যদি আপনার ডেস্কটপ হয় তবে তা ঠিক আছে। ওপেনএমপিআই ম্যাকবুকগুলির বাক্স থেকে বেরিয়ে আসে এবং এমপিআইসিএইচ আরও লিনাক্স / ভালগ্রাইন্ড বন্ধুত্বপূর্ণ বলে মনে হয়। এটি আপনার এবং আপনার সরঞ্জামচয়ের মধ্যে রয়েছে।

এটি যদি প্রোডাকশন ক্লাস্টার হয় তবে আপনার নেটওয়ার্ক টপোলজিতে এটি অপ্টিমাইজড হয়েছে তা নিশ্চিত করার জন্য আপনাকে আরও বিস্তৃত বেঞ্চমার্কিং করতে হবে। আপনাকে আরটিএফএম করতে হবে এমনভাবে একটি প্রোডাকশন ক্লাস্টারে কনফিগার করা আপনার সময়ের ক্ষেত্রে প্রধান পার্থক্য হবে।


12
সবাই যদি আরটিএফএমড করে থাকে তবে আমাদের স্ট্যাকওভারফ্লো প্রয়োজন হবে না :-)
জেফ

1
এফডাব্লুআইডাব্লু, ওপেন- এমপিআইয়ের ভালগ্রিড
জেফ

@ জেফ উম বাগের কী হবে? পুরানো ডক্স? এটি আমার (শত শত ..) প্রশ্নের
বহুবচনতার

6

উভয়ই মান-সম্মতিযুক্ত, সুতরাং আপনি যা সঠিকতার দৃষ্টিকোণ থেকে ব্যবহার করেন তা বিবেচনা করা উচিত নয়। নির্দিষ্ট ডিবাগ এক্সটেনশানগুলির মতো কিছু বৈশিষ্ট্য না থাকলে আপনার প্রয়োজন হয়, তবে উভয়ই বেঞ্চমার্ক করুন এবং আপনার হার্ডওয়্যারটিতে আপনার অ্যাপ্লিকেশনগুলির জন্য দ্রুততর যে কোনওটি চয়ন করুন। এছাড়াও বিবেচনা করুন যে অন্যান্য এমপিআই বাস্তবায়ন রয়েছে যা আরও ভাল পারফরম্যান্স বা সামঞ্জস্যতা দিতে পারে যেমন এমভিএপিইচএইচএইচ (সেরা ইনফিনিব্যান্ড পারফরম্যান্স থাকতে পারে) বা ইনটেল এমপিআই (ব্যাপকভাবে সমর্থিত আইএসভি)। এইচপি তাদের এমপিআইকে প্রচুর আইএসভি কোডের সাথেও যোগ্য করে তোলার জন্য কঠোর পরিশ্রম করেছিল, তবে আমি নিশ্চিত নই যে এটি প্ল্যাটফর্মে বিক্রি হওয়ার পরে কীভাবে চলছে ...


2

আমার অভিজ্ঞতা থেকে একটি ভাল বৈশিষ্ট্য যা ওপেনএমপিআই সমর্থন করে তবে এমপিআইসিএইচ প্রক্রিয়া সংযুক্তি নয় । উদাহরণস্বরূপ, ওপেনএমপিআইতে, -npersocketআপনি প্রতিটি সকেটে লঞ্চ করা র‌্যাঙ্কের সংখ্যা নির্ধারণ করতে পারেন। এছাড়াও, ওপেনএমপিআই এর rankfileকাজ খুব সহজ যখন আপনি কোরের রেঙ্ক পয়েন্ট করতে বা সেগুলি ওভারসস্ক্রাইব করতে চান।

সর্বশেষে, যদি আপনাকে কোরে র‌্যাঙ্কের ম্যাপিং নিয়ন্ত্রণ করতে হয় তবে আমি অবশ্যই ওপেনএমপিআই ব্যবহার করে আপনার কোডটি লেখার এবং সংকলনের পরামর্শ দেব।


2
এমপিআইসিএইচ স্বীকৃতি দেয়। wiki.mpich.org/mpich/index.php/…
জেফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.