বৈজ্ঞানিক কোড কর্মক্ষমতা অন্তর্নিহিত কাঠামো কি?


11

বিভিন্ন হার্ডওয়্যার এবং সফ্টওয়্যার কনফিগারেশন সহ দুটি কম্পিউটার বিবেচনা করুন। প্রতিটি প্ল্যাটফর্মে ঠিক একই সিরিয়াল নাভিয়ার-স্টোকস কোড চালানোর সময় কম্পিউটার 1 এবং 2 এর জন্য যথাক্রমে একটি পুনরাবৃত্তি কার্যকর করতে x এবং y সময় লাগে। এই ক্ষেত্রে, , কম্পিউটার 1 এবং কম্পিউটার 2 এর মধ্যে পুনরাবৃত্ত সময়ের পার্থক্য।Δ=এক্স-Y

এর দৈর্ঘ্যকে কী প্রভাব ফেলতে পারে ? এক সুস্পষ্ট প্রার্থী CPU- র, আমার মূল প্রশ্ন অন্য যে বিষয়গুলি প্রভাবিত হতে পারে আছে কিনা তা ব্যবহারকারীকে Δ সিপিইউ মধ্যে হার্ডওয়্যার পার্থক্য হিসাবে একই আদেশ?ΔΔ


4
অবশ্যই আপনার কেবলমাত্র একটি নমুনা। এছাড়াও আপনি উপর তদন্ত উচিত Δ সমস্যা আকার এবং গঠন উপর নির্ভর করে। দ্বিতীয় আমি কোডটি প্রোফাইল দেওয়ার পরামর্শ দেব , বিভিন্ন অবদানের যোগফলের সাথে x এবং y কে বিভক্ত করার চেষ্টা করব এবং এইচডাব্লু এবং ডাব্লু কনফিগারেশনের ক্ষেত্রে কোডের বিভিন্ন অংশের পারফরম্যান্স বিশ্লেষণ করব। ΔΔএক্সY
স্টেফানো এম

4
ক্যাচ লাইন মিস । এটি বিবেচনা করা প্রথম জিনিস। স্মৃতি হ'ল প্রচুর অ্যালগরিদমের জন্য বাধা কারণ।
হরিণ হান্টার

উত্তর:


13

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

সফটওয়্যার

  • স্ট্যান্ডার্ড লাইব্রেরি পারফরম্যান্স
  • লিন। ALG। লাইব্রেরি পারফরম্যান্স (যদি সফ্টওয়্যারটি বাইরের লাইব্রেরিতে লিঙ্ক করে)
  • সংকলক পছন্দ
  • সংকলক অপ্টিমাইজেশন
  • সংকলক পতাকা
  • পটভূমি প্রক্রিয়াগুলি (ওএস ভিন্ন হলে তা উল্লেখযোগ্যভাবে পরিবর্তিত হতে পারে)

হার্ডওয়্যারের

সিপিইউ

  • ঘড়ির গতি
  • আর্কিটেকচার (একই নির্দেশাবলী বিভিন্ন স্থাপত্যে বিভিন্ন সংখ্যক চক্র নিতে পারে)
  • ক্যাশে আকার
  • ক্যাশে লেটেন্সি
  • সিমড (একক নির্দেশনা, একাধিক ডেটা) ক্ষমতা

স্মৃতি

  • চ্যানেলের সংখ্যা
  • দ্রুততা

HDD এর

  • পড়ুন / লেখার গতি (ফলাফলগুলি লেখার জন্য বেশিরভাগ ক্ষেত্রেই গুরুত্বপূর্ণ, তাই আপনি এনএস সলভারের জন্য ফাইল লেখার জন্য আউটপুট কতবার লিখছেন তার উপর নির্ভর করে তবে অন্যান্য প্রোগ্রামগুলির ক্ষেত্রে এটি গুরুত্বপূর্ণ হতে পারে যা ইমেজ প্রসেসিংয়ের মতো কাজ করে)

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


আমি সিপিইউতে উভয়ই কর সংখ্যার সংখ্যা এবং এর সিমডি সক্ষমতা যুক্ত করব।
পেড্রো

প্রশ্ন পেলে সিরিয়াল সলভার বলার পর থেকে পেড্রো আমি কোর ছাড়লাম, তবে আমি সিমডি যুক্ত করব। ধন্যবাদ।
গর্ড্রিক সের

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

1
@ ইস্পাইকনালসিলিশন যখন কোনও নির্দিষ্ট মেশিন / এর জন্য সংকলন করা হয়, আপনি জিসিসি / গফর্ট্রান বিকল্প -march=nativeবা আইসিসি / আইফোর্ট বিকল্পটি ব্যবহার করতে পারেন -xHOSTযা অন্তর্নিহিত আর্কিটেকচারের জন্য নির্দিষ্ট অপ্টিমাইজেশন প্রয়োগ করবে।
পেড্রো

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

2

এক্স/Yএক্স-Y

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

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

এই লিঙ্কটি আমি ব্যবহার করি এমন প্রচলিত পদ্ধতিতে বিশদভাবে ব্যাখ্যা করে।

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