দাবা ইঞ্জিনগুলির জন্য সিপিইউ বনাম জিপিইউ


16

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

দাবা ইঞ্জিনগুলি কি সিপিইউগুলির পরিবর্তে জিপিইউ দিয়ে গণনা করলে উপকৃত হবে?

হয়ত কিছু জ্ঞানী ব্যক্তি দুজনের মধ্যে পার্থক্য তুলে ধরে আমাদের আলোকিত করতে পারেন যে দাবা ইঞ্জিনগুলি কার্যকর করে এমন গণনার জন্য জিপিইউগুলি (আন) উপযুক্ত কিনা তা আমাদেরকে আলোকিত করতে পারে।

উত্তর:


13

সম্পাদনা করুন:

Http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=32317 এ অন্য কয়েকটি পয়েন্ট উত্থাপিত হয়েছে ।

  • জিপিইউ পুনরাবৃত্তির জন্য এতটা ভাল নয়
  • ভাসমানের জন্য জিপিইউ তেমন ভাল নয়
  • জিপিইউ নতুন মেশিন-লার্নিং পদ্ধতির জন্য আরও ভাল কাজ করতে পারে তবে engineতিহ্যবাহী ইঞ্জিন অ্যালগরিদমগুলিতে নয়

মূল :

@ ম্যাক্সওয়েল 86 ইতিমধ্যে দুর্দান্ত লিঙ্ক এবং সংস্থান দিয়েছে। জিতা-দাবা ইঞ্জিনের দিকে মনোযোগ দিন। এটি একটি জিপিইউ দাবা ইঞ্জিন। দুর্ভাগ্যক্রমে, জিপিইউ দাবা প্রোগ্রামিংয়ে এর কার্যকারিতা প্রমাণ করে নি। আসলে, জিতা দাবা ইঞ্জিন প্রকল্পটি একেবারে কোথাও যায় নি।

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

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

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

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


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

সত্য। তবে যদি প্রধান অনুসন্ধানটি নিজেই লোড করা যায় না, ছোট কাজগুলি অফলোড করার কোনও বিন্দু হওয়া উচিত নয়।
হ্যালো ওয়ার্ল্ড

3
এটি একটি দুর্দান্ত উত্তর। আমার স্ক্রিনে +3 সুইচটি কোথায়? আমি এটি খুঁজে পাচ্ছি না!
thb

7

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

অবশ্যই, দাবা ইঞ্জিনগুলির জন্য এটি জিপিইউ প্রোগ্রামিংয়ের বর্তমান অবস্থা, তবে জিপিইউ প্রোগ্রামিং তুলনামূলকভাবে নতুন, তাই তারা ভবিষ্যতে বর্তমান সমস্যার সমাধান খুঁজে পাবে।

এখানে বেশ কয়েকটি আকর্ষণীয় লিঙ্ক রয়েছে, বিশেষত জিপিইউর জন্য দাবা ইঞ্জিন বাস্তবায়ন সম্পর্কে ব্লগটি যথেষ্ট অন্তর্দৃষ্টিযুক্ত।


1
আপনাকে মিস করেছি: zeta-chess.blogspot.com
HelloWorld

জিপিইউতে যে বিষয়গুলি ভাল তা হ'ল ভগ্নাংশ গণিত, ভেক্টর অপারেশন এবং সমান্তরালকরণের জন্য ন্যূনতম সিঙ্ক্রোনাইজেশন প্রয়োজন। দাবা ইঞ্জিনগুলির সর্বশেষ একটি তবে প্রথম দুটি নেই।
intx13

5

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

http://lczero.org/

https://en.wikipedia.org/wiki/AlphaZero

https://groups.google.com/forum/#!forum/lczero


2

আমি আমার পরীক্ষামূলক জিপিইউ দাবা ইঞ্জিন জিটা ভি0৯৯ এ শেষ করেছি।

https://github.com/smatovic/Zeta

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

কম্পিউটার দাবা, কম্পিউটার বিজ্ঞানের বিষয় হিসাবে, কয়েক দশক ধরে বিকশিত হয়েছিল, 40 এবং 50 এর দশকে শুরু হয়েছিল এবং ডিপ ব্লু বনাম কাপসারো ম্যাচটি দিয়ে 1997 এর এক শীর্ষে পৌঁছেছিল। আজকাল দাবা ইঞ্জিনগুলি হাজার হাজার এবং হাজার হাজার গেম খেলে সুর করা হয়, সুতরাং একটি দাবা প্লেিং ইঞ্জিনটি জিপিইউতে চলমান এবং জিপিইউতে একটি প্রতিযোগিতামূলক দাবা খেলার ইঞ্জিন চালানো দুটি ভিন্ন কাজ।


0

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

ঠিক আছে, প্রথমত, এটি কার্যত নিশ্চিত যে দাবা ইঞ্জিনগুলির বর্তমান নকশাটি দিয়ে এটি অসম্ভব। অন্যথায় কেউ কেবল এটি করতে হবে।

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

আমার মতে সমস্ত গাছের গণনা সিপিইউতে চালানো উচিত।

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

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

30% অতিরিক্ত গতি বলার জন্য ইঞ্জিনগুলির সম্পূর্ণ নতুন ডিজাইন তৈরি করা সম্ভবত খুব আকর্ষণীয় বিষয় নয়। আর আর্ট জিপিইউগুলির স্থিতিতে 20x স্পিডআপ বলার জন্য আপনাকে মূল্যায়ন ফাংশনগুলি সত্যই এলিয়েন করতে হবে।

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

সম্পাদনা: কেবল বিষয়গুলি পরিষ্কার করার জন্য, সিপিইউ আংশিক মূল্যায়ন করার জন্য নিয়মিত জিপিইউ পদের অবস্থানগুলি পাঠাত। আমি যা লিখেছিলাম তা থেকে তা পরিষ্কার ছিল না।

এই কাজটি করতে অনেক সমস্যা।


0

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


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