আপনি কীভাবে 2 ডি বোডস সিমুলেশনটির সমান্তরাল করতে পারেন


16

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

বোড উদাহরণ

উপরের উদাহরণে, বর্ণহীন কণাগুলি ক্লাস্টার না হওয়া অবধি ঘুরে বেড়ায় (হলুদ) এবং সরানো বন্ধ করে দেয়।

সমস্যাটি হ'ল সমস্ত সত্ত্বা একে অপরের সাথে যোগাযোগ করতে পারে যদিও উপরের বাম দিকের একটি সত্ত্বা নীচের ডানদিকে একটির সাথে যোগাযোগ করার সম্ভাবনা কম। যদি ডোমেনটি বিভিন্ন বিভাগে বিভক্ত হয়ে যায় তবে এটি পুরো বিষয়টি দ্রুত করতে পারে তবে কোনও সত্তা যদি অন্য বিভাগে যেতে চায় তবে সমস্যা হতে পারে।

এই সিমুলেশনটি একটি ভাল ফ্রেমের হার সহ 5000 টি সত্তা নিয়ে কাজ করে, এই মুহুর্তে আমি যদি সম্ভব হয় তবে লক্ষ লক্ষ দিয়ে এটি ব্যবহার করে দেখতে চাই।

এটি আরও অনুকূলকরণের জন্য কি কোয়াড গাছ ব্যবহার করা সম্ভব হবে? অন্য কোন পরামর্শ?


আপনি কি অপ্টিমাইজেশনের জন্য জিজ্ঞাসা করছেন বা কীভাবে সমান্তরাল করবেন? এই বিভিন্ন জিনিস।
বাম্মজ্যাক

@ البমজ্যাক কীভাবে সমান্তরাল করতে হবে, আমি কেবল আরও ব্যাখ্যা যুক্ত করেছি, তাতে কি সহায়তা হয়?
সাইক্রেন

উত্তর:


7

মাটিয়াস লিন্ডের কণা ফ্লুয়েডের মাস্টার্স থিসিস প্যারালাল সিমুলেশন বড় আকারের সিমুলেশনের জন্য ডেটা বিভাজন এবং অ্যালগরিদমে কিছুটা অন্তর্দৃষ্টি দিতে পারে।

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

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


সুন্দর কাগজ, তবে এই প্রশ্নটির প্রকৃত অংশটি @Fxlll উত্তরের মতো অনেক বেশি বলে মনে হচ্ছে।
Ali1S232

আমি বলব কাগজের আসল অংশটি হ'ল এটি কীভাবে যোগাযোগ প্রোটোকল প্রবর্তনের মাধ্যমে প্রান্তের কেসগুলি সমাধান করে, শক্ত অংশটি বোঝায়, কোয়াড বিভাজনটি বেশ সুস্পষ্ট এবং নিজেই প্রান্তের সমস্যা সমাধান না করে।
মাইক সেমদার

4

আমি দীর্ঘদিন আগে যে শব্দটি শিখেছিলাম তা ছিল গেমের তথ্যের গতি।

যদি আপনার বোডের গতি 1 হয় এবং তারা কেবল তাদের প্রতিবেশীদের সম্পর্কে চিন্তা করে তবে তথ্যের গতি 3, অর্থাৎ, আপনার কাছ থেকে দুই স্কোয়ার দূরে থাকা একটি বোডটি আপনার এক ফ্রেমের মধ্যে সীমাবদ্ধতার মধ্যে থাকতে পারে:

পারস্পরিক ক্রিয়াকলাপে (1 + 1) বিডে প্রতি 1 বর্গ চলাচল এবং আপনি যে জিনিসগুলি লক্ষ্য করতে পারেন তার দূরত্ব (1) সমান 3।

এটি দেওয়া, আমরা শিখেছি যে আমরা কোনও মানচিত্রকে টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো করে আমরা করতে পারি neighboring

আমি ধরে নেব আপনি আপনার বোডগুলিকে কেবল একটি স্কোয়ার সরানোর অনুমতি দিচ্ছেন তবে তারা তিনটি দেখতে পাবে see

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

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


বিশ্বটি 1000,000x1,000,000 গ্রিডের কল্পনা করুন এবং বিশ্বে 10,000,000 বিড রয়েছে এবং প্রতিটি বিড প্রতিটি পালা ঠিক এক বর্গক্ষেত্রের দিকে যেতে পারে, আপনি কীভাবে অন্যের প্রতিবেশে কোনও বিড আছে কিনা তা পরীক্ষা করে দেখতে পারেন?
Ali1S232

আমি অনুমান করছি যে আমরা এটিকে 2000 500x500 স্কোয়ার বা তারও বেশি বিভক্ত করতে পারি। প্রতিটি স্কোয়ারে বোডের একটি তালিকা রয়েছে পাশাপাশি প্রতিবেশীদের একটি তালিকা রয়েছে। যদি কোনও বোড একটি বর্গক্ষেত্র থেকে প্রস্থান করে তবে এটি বোডের তালিকা থেকে সরানো হবে এবং অন্য স্কোয়ারে যুক্ত করা হবে। এই পদ্ধতির যে সমস্যাটি আমি দেখতে পাচ্ছি তা হ'ল আপনি যদি স্কয়ারের চেয়ে বড় আকারের ঝাঁকুনির সাথে এমন কিছু যুক্ত করেন। চতুষ্কোণ সমাধানটি গতিশীল হতে হবে, তবে এটি কতটা ব্যয়বহুল তা আমি নিশ্চিত নই
সাইক্রেন

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

2

আপনার কোয়েস্টনটি পড়ে আপনি দেখতে পাচ্ছেন যে আপনি চতুষ্পদ গাছের সুবিধা নিতে পারেন, একটি চতুর্ভুজ গাছ তৈরি করতে পারেন এবং একটি পৃথক প্রসেসিং ইউনিটে প্রতিটি বিভাগের জন্য সিমুলেশন চালাতে পারেন। এটি কেবল একে অপরের নিকটে থাকা বস্তুগুলির জন্য চেকিংয়ের কারণ ঘটবে। তবে আপনাকে প্রতিটি চক্রের থ্রেডগুলি সিঙ্ক করতে হবে। যার অর্থ those কিছু বোডকে এক থেকে অন্য প্রক্রিয়াকরণ গ্রুপে স্থানান্তর করা। সাধারণভাবে প্রতিটি চক্র 3 টি পদক্ষেপ নিয়ে গঠিত:

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

* গোষ্ঠী তৈরি করতে আপনি নীচের প্যাটার্নটি ব্যবহার করতে পারেন:

এখানে চিত্র বর্ণনা লিখুন

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

--edit--

বিভাজন সম্পর্কে আরেকটি ধারণা রয়েছে যা কাগজে বর্ণিত হয়েছে লার্সভিক্লুন্ড সেজটেড, এইভাবে অনেক কম ডাবল চেকিং রয়েছে এবং পদক্ষেপগুলির মধ্যে থ্রেডের সংখ্যা বাড়াতে / হ্রাস করার দরকার নেই:

এখানে চিত্র বর্ণনা লিখুন

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


একটি ভাল ধারণা মত শোনাচ্ছে, কিন্তু পদক্ষেপ 1 এ সরানোর আগে, আমি তাদের নাড়াতে পারবো কিনা তা দেখার জন্য আমার সংঘর্ষ সনাক্তকরণের প্রয়োজন হবে?
সাইক্রেন

আপনি সেগুলি সরাতে পারেন এবং সিমুলেশনটি চালিয়ে যেতে না দিলে কোনও সংঘর্ষ ঘটেছে এমন পদক্ষেপের বিপরীতে (সেই সঠিক বোডের জন্য) পরীক্ষা করতে পারেন।
Ali1S232

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

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

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

2

আমি সম্প্রতি এই উত্তরগুলির একটি প্রাথমিক পয়েন্ট হিসাবে ব্যবহার করে এই সমস্যাটি মোকাবিলা করেছি। মনে রাখা সবচেয়ে সহায়ক জিনিস হ'ল যে বোডগুলি হ'ল এক ধরণের সাধারণ এন-বডি সিমুলেশন: প্রতিটি বিড এমন একটি কণা যা প্রতিবেশীদের উপর একটি শক্তি প্রয়োগ করে।

আমি লিন্ডে কাগজ পড়তে অসুবিধা পেয়েছি; আমি পরিবর্তে এস জে প্লিম্পটনের "ফাস্ট প্যারালাল অ্যালগরিদমস ফর শর্ট রেঞ্জ মলিকুলার ডায়নামিক্স" দেখার পরামর্শ দিই , যা লিণ্ডা রেফারেন্স করেছে। প্লিম্পটনের কাগজ আরও পরিসংখ্যান সহ আরও ভাল পরিসংখ্যান সহ বিশদ:

সংক্ষেপে, অ্যাটম-পচন পদ্ধতিগুলি প্রতিটি প্রসেসরের স্থায়ীভাবে পরমাণুর একটি উপসেট নির্ধারণ করে, জোর-পচন পদ্ধতিগুলি প্রতিটি প্রোকে জোড়াকৃতির বল গণনার একটি উপসেট নির্ধারণ করে, এবং স্থানিক-পচন পদ্ধতিগুলি প্রতিটি ক্রমকে সিমুলেশন বাক্সের একটি উপ-অঞ্চল নির্ধারণ করে ।

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

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

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

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

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

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


1

আমি ধরে নিচ্ছি আপনার একটি টেরয়েডাল সিস্টেম, আপনি স্পেসে বিভাজন করতে পারেন যাতে প্রতিটি ইউনিটের উপ-অঞ্চল থাকে।

প্রতিটি পদক্ষেপে কণাগুলি সরিয়ে নেওয়া হয়, কণাগুলি উপ-অঞ্চল থেকে বের হয়ে প্রাসঙ্গিক প্রসেসরে প্রেরণ করা হয়; একটি যোগাযোগের পদক্ষেপটি প্রসেসরগুলিকে সিঙ্ক্রোনাইজ করবে এবং বিদেশী কণার অবস্থান (যদি থাকে তবে) বিস্তৃত করার জন্য একটি সর্বশেষ পোস্টস্টেপ নেওয়া হবে।

এখানে তিনটি সমস্যা রয়েছে:

  • 1) উপ অঞ্চলের আকার:

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

  • 2) যোগাযোগপ্রোটোকল:

আপনার কী ধরণের যোগাযোগের অবকাঠামো রয়েছে তার উপর নির্ভর করে আপনি ভাবতে পারেন কীভাবে প্রসেসরের মধ্যে সীমান্ত পেরোনোর ​​তথ্য ছড়িয়ে দেওয়া যায়। সম্প্রচার বনাম পিয়ার-থেকে-পিয়ার পুনর্নির্মাণ বনাম পিয়ার-টু-পিয়ার যোগাযোগ সমস্ত বিকল্প communication

  • 3) উপ-অঞ্চল বরাদ্দ:

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


@Fxlll টরয়েডাল সিস্টেম বলতে আপনার অর্থ কী তা আমি নিশ্চিত নই, এটি কোনও ডোনাট আকারে নয়। আপনি কি বোঝাতে চাইছেন যে কোনও কণা ডান হাত থেকে সরে গেলে এটি বাম দিকে প্রদর্শিত হয়? যদি তাই না হয় তবে, যদি কোনও কণা ডান হাতের দিকে আঘাত করে তবে এটি অন্য দিকে চলার চেষ্টা করে।
সাইক্রেন

@ সিসক্রেন ঠিক আছে এক্ষেত্রে আপনার স্বাচ্ছন্দ্য এবং প্রান্তের
অঞ্চলটিকে

-1

ক্লুগুলির জন্য আমার সিমুলেশনটি ব্যবহার করে দেখুন https://github.com/wahabjawed/Boids- সিমুলেশন

আমি এটি এক্সএনএ-তে বিকাশ করেছি


একটি সম্পূর্ণ প্রকল্পের সাথে কেবল লিঙ্ক করা ভাল উত্তর নয়। পাঠক আপনার উত্সটি খনন করতে বাধ্য হয় যতক্ষণ না তারা প্রশ্নের সাথে প্রাসঙ্গিক অংশটি খুঁজে না পান এবং তারপরেও এটি বুঝতে হবে যে এটি কীভাবে সমস্যার সমাধান করে। আপনি কীভাবে সমস্যার কাছে পৌঁছেছেন এবং অন্যান্য উত্তরে বর্ণিত সমাধানগুলির তুলনায় এর কী কী সুবিধা রয়েছে দয়া করে সরল ইংরেজিতে বর্ণনা করতে পারেন? কিছু সংক্ষিপ্ত কোড স্নিপেটগুলি যদি আপনার বিবরণটি বুঝতে সহায়তা করে তবে আপনি সেগুলি অনুলিপি করতে এবং আপনার উত্তরে পেস্ট করতে পারেন।
ফিলিপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.