ATLAS এবং MKL এর মধ্যে পারফরম্যান্স পার্থক্য?


31

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


উত্তর:


18

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


12

বিএলএএস এককথায় নয়। BLAS1 এবং BLAS2 মেমোরি ব্যান্ডউইথ সীমিত, এবং এগুলি স্পষ্টতাকে ছাড়িয়ে যাওয়ার জন্য আপনি আরও কিছু করতে পারেন না (লুপ আনরোলিং, স্তর 2 এর জন্য ক্যাশে ব্লক করা)। বিএলএএস 3 আরও আকর্ষণীয় এবং প্রোটোটাইপিকাল বেঞ্চমার্কটি এখানে ম্যাট্রিক্স-ম্যাট্রিক্সের গুণ। আমার জ্ঞানের কাছে GOTOBlas সর্বদা এখানে সুস্পষ্ট বিজয়ী ছিল, উদাহরণস্বরূপ দেখুন এই তুলনা বা এটি একটি এবং এই ন্যায়সঙ্গততা

এটি এখন বছর পরে, এবং আমাদের বিএলআইএস প্রকল্প রয়েছে । এটি এমকেএল-এর সেরা নিখরচায় বিকল্প।


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

2
ডাঃ গোটো এম by কিনেছিলেন $ দুঃখ। । ।
meawoppl

2
ওপেনব্ল্যাএলএস হ'ল ওপেনসোর্স প্রকল্প যা গোটোব্ল্যাস থেকে প্রস্তুত। github.com/xianyi/OpenBLAS
শ্যাডো ওয়ারিয়র

গোটো এখন এমকেএলে কাজ করে। আর দুঃখের দরকার নেই :-)
জেফ

6

প্রোফাইল, অনুমান করবেন না! (এছাড়াও "বেঞ্চমার্ক হিসাবে কাজ করে , অনুমান করবেন না!" )

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


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


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

1
এটি প্রোফাইলের কাছে বিরক্তিকর, যদিও এমকেএল 499 ডলার। তবে তারা 1 মাসের ট্রায়াল অফার করে
লিন্ডন হোয়াইট

@ লিন্ডনওহাইট এখনও কি এমন অবস্থা? ডাউনলোড পৃষ্ঠাটি এটি নিখরচায়
লুসিওানো

হ্যাঁ, আমি বিশ্বাস করি এটি এখন নিখরচায়, আমি এখন প্রচুর লোক এটি ব্যবহার করতে দেখছি।
লিন্ডন হোয়াইট

6

এই প্রশ্নের পূর্বের উত্তরগুলি বেশিরভাগ মূল পয়েন্টগুলি কভার করেছে তবে আমি এটি সম্পর্কে একটি মন্তব্য যোগ করতে চাই:

কিছু কাজের জন্য কি এমকেএলের উপরের হাত রয়েছে?

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

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

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

তত্ত্বের ক্ষেত্রে তত্ত্ব এবং অনুশীলনের মধ্যে কোনও পার্থক্য নেই। কিন্তু বাস্তবে এটা আছে।

সম্পূর্ণ প্রকাশ: আমি ইন্টেলের পক্ষে কাজ করি।


এমকেএল খোলা সোর্স করার কোনও সুযোগ আছে কি?
রয়ি

কোন উদ্দেশ্যে? এমকেএল ইতিমধ্যে বিয়ারের মতো মুক্ত। বিএলআইএসের উত্স কোডটি পড়ার ক্ষেত্রে এর চেয়েও বড় শিক্ষাগত মান রয়েছে। আপনি যদি সমাবেশটি পড়তে চান তবে ওপেনবিএলএস চেষ্টা করুন।
জেফ

1

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

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

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

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