জিপিইউ সিস্টেমে বিএলএএস / ল্যাপাক বা অন্যান্য লিনিয়ার বীজগণিত রুটিনগুলির দ্রুততম উপলব্ধ প্রয়োগগুলি কী কী?


11

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

উত্তর:


9

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

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

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

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

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


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

5

আমাকে কেবল CUDA এবং BLAS এ ফোকাস করা যাক।

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

আপনি যদি এনভিআইডিআইএ দ্বারা প্রকাশিত মানদণ্ডগুলি লক্ষ্য করেন এবং তা বিবেচনায় রাখেন যে টেসলা এম 2090 এর 1331 গিগাফ্লপস (একক যথার্থতা) এবং 665 গিগাফ্লপস (ডাবল প্রাক। তাত্ত্বিক একটি 60%, যা বেশ ভাল।

2মিএনমি××এন

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

নীচের লাইন: লিনিয়ার বীজগণিতের রুটিনগুলিতে পিক পরিমাপকৃত পারফরম্যান্স থেকে বাস্তব জীবনের অ্যাপ্লিকেশনটির গতিপথ খুব আলাদা হতে পারে, যেহেতু আপনাকে জিপিইউ সূচনা, ডেটা স্থানান্তর সময় ইত্যাদি বিবেচনায় নিতে হবে etc.

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

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