আজকের বৃহত সমান্তরাল প্রক্রিয়াকরণ ইউনিটগুলি কীভাবে সেলুলার অটোমেটা দক্ষতার সাথে চালাতে সক্ষম?


20

আমি অবাক হয়েছি যে গ্রাফিক কার্ডগুলিতে আজকাল প্রচুর পরিমাণে সমান্তরাল গণনা ইউনিট সরবরাহ করা হয়েছে ( উদাহরণস্বরূপ, ওপেনসিএল প্রোগ্রামযোগ্য ) একটি 1D সেলুলার অটোমেটা (বা সম্ভবত 2 ডি সেলুলার অটোমেটা?) সিমুলেট করার জন্য যথেষ্ট ভাল কিনা?

যদি আমরা চিপটির স্মৃতিতে যে কোনও সীমাবদ্ধ গ্রিড ফিট করে তা চয়ন করি, আমরা কি এই গ্রিডে সংজ্ঞায়িত সেলুলার অটোমেটনের একটি রূপান্তর স্থির সময়ের (অর্ধ) গণনা করার আশা করতে পারি?

আমি ধরে নিই 2D সেলুলার অটোম্যাটাকে 1D অটোমেটার চেয়ে চিপের বিভিন্ন অংশের মধ্যে যোগাযোগের জন্য আরও ব্যান্ডউইথের প্রয়োজন হবে।

আমি এফপিজিএ প্রোগ্রামিং বা কাস্টম চিপসের ক্ষেত্রেও একই প্রশ্নে আগ্রহী।


সম্ভবত এটি একটি "সমতুল্য" চিপের সাথে তুলনা করা আরও প্রাসঙ্গিক হবে যা একইভাবে সেলুলার অটোমেটাকে স্বাভাবিকভাবে অনুকরণ করে। (সাধারণ ভন নিউম্যান মডেলটিতে মেমরির মধ্যে ঘরগুলি সঞ্চয় করে)
jmad

ভাল প্রশ্ন. কোন ধরণের অ্যালগরিদমগুলি জিপিইউতে ভাল কাজ করে তা আমার কোনও ধারণা নেই, তাই আমি উত্তরগুলির অপেক্ষায় রইলাম।
রাফেল

1
এফপিজিএ সত্ত্বেও এক্সপ প্রোবগুলি এক্সপ প্রোব হয়। সম্ভবত এখানে এবং এখানে সম্পর্কিত ।

উত্তর:


7

দুর্দান্ত প্রশ্ন। আমি বিশ্বাস করি উত্তরটি হ্যাঁ।

সেলুলার অটোমেটনের বিবর্তন করা মূলত স্টেনসিল গণনা সম্পাদনের সমতুল্য। কিছু 1D, 2D বা 3 ডি গ্রিডে পয়েন্টের ক্রমাগত মানগুলি (বা ঘরগুলি) পয়েন্টের প্রতিবেশীর শেষ মানের ভিত্তিতে গণনা করা হয়। একটি সাধারণ 1 ডি সিএতে, এই পাড়াটি ঘর এবং বাম এবং ডানদিকে দুটি ঘর হতে পারে। জিপিইউতে স্টেনসিল কম্পিউটেশনের প্রচুর উদাহরণ রয়েছে; ওপেনসিএল / সিইউডিএর জন্য ORNL এর SHOC বেঞ্চমার্ক স্যুটে একটি 2D স্টেনসিল উদাহরণ রয়েছে example

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

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


5

আপনি যাই করুন না কেন, সেলুলার অটোমেটনের জন্য পরবর্তী অবস্থার গণনা করলে অটোমেটনে কোষগুলি রয়েছে তার চেয়ে অনেক বেশি গণনা চাইবে। সুতরাং একটি ধ্রুবক সময় পেতে, আপনার ঘরগুলির মতো অনেকগুলি কম্পিউটিং কোর প্রয়োজন।

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

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

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

সংক্ষিপ্তসার: - আপনি যদি মধ্যবর্তী সমস্ত রাজ্যের দিকে নজর রাখতে চান, জিপিইউ সবচেয়ে কার্যকর পদ্ধতির - আপনি যদি না করেন তবে আপনার আরও কিছু ভাল করার জন্য একটি এএসআইসিকে ন্যায্যতা দেওয়ার জন্য ভলিউমের প্রয়োজন হয়, এফপিজিএ সম্ভবত যথেষ্ট সুবিধা দেয় না যদি তারা আছে কোন.


2

আমি অবাক হই যে আজকাল গ্রাফিক কার্ডগুলিতে সরবরাহ করা প্রচুর পরিমাণে সমান্তরাল গণনা ইউনিটগুলি কার্যকরভাবে 1 ডি সেলুলার অটোমেটা (বা 2D সেলুলার অটোমেটা?) অনুকরণ করার পক্ষে যথেষ্ট ভাল কিনা?

খুব সাধারণ হওয়াতে, হ্যাঁ জিপিইউ কম্পিউটিং প্রত্যেকের জন্য উপলব্ধ স্ট্যান্ডার্ড হার্ডওয়্যারের সেরা বিকল্প।

হে(1)এনপিএনপিহে(1)

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.