জিপিইউ শেডারগুলিতে পরিবর্তনশীল-দৈর্ঘ্যের লুপের প্রভাব


9

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

রে মার্চিং জনপ্রিয়:

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

এর অর্থ জিপিইউ প্রতি পিক্সেলটিতে কিছু অজানা সংখ্যক লুপ পুনরাবৃত্তি সম্পাদন করছে (যদিও আপনার উপরের বাউন্ডের মতো থাকতে পারে maxIterations)।

পরিবর্তনশীল-দৈর্ঘ্যের লুপটি কীভাবে শেডার কার্য সম্পাদনকে প্রভাবিত করে?

সাধারণ রে-মার্চিং স্যুইডোকোডের কল্পনা করুন:

t = 0.f;
while(t < maxDist) {
    p = rayStart + rayDir * t;
    d = DistanceFunc(p);
    t += d;
    if(d < epsilon) {
       ... emit p
       return;
    }
}

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

কীভাবে এটি অনুকূলিত করা যায়?


দুর্ভাগ্যক্রমে, এই প্রশ্নের সঠিক উত্তর এখানে দেওয়া খুব কঠিন। যদিও একটি উত্তর ইতিমধ্যে এমন উত্সকে পঠনযোগ্য বলে উল্লেখ করেছে (গতিশীল শাখা জড়িত)। "বিষয়" জন্য +1 ..
teodron

1
@ টিড্রন পরাজিত হন না! আমি আশা করছিলাম যে কেউ বলবেন যে এনভিডিয়া কার্ডগুলিতে 8x8 ব্লকের স্ক্রিন পিক্সেলগুলি গভীরতমের মতো গভীরভাবে পুনরাবৃত্তি করবে এবং 8x8 পিক্সেলের ব্লকগুলি যে কোনও ক্রমে করা যেতে পারে, বা এর মতো কিছু হতে পারে; এটি সত্য নয়, এটি কেবলমাত্র প্রজ্ঞা যা আমি আশা করি লোকেরা ভাগ করতে সক্ষম হবে। লারাবী, হুম, এর লিঙ্কগুলি বেশ অপ্রত্যক্ষ।
উইল

দেখে মনে হচ্ছে না যে সে লারাবিকে নিয়ে আলোচনা করছে, তবে স্ট্যানফোর্ড লোকটি একই কথাটি দিয়েছে দু'বছর পরে, ২০১০ সালে ( আপনি এটি এখানে দেখতে পারেন )। তার পরিসংখ্যানগুলি থেকে, কিছুক্ষণের লুপটি বিবেচনা করে, আমি বুঝতে পারি না যে পিক্সেলগুলি যেগুলি তাদের গণনাগুলি "শেষ" করে তাড়াতাড়ি কোনও পারফরম্যান্সের জন্য প্রস্তুত করে কিনা। সিইউডিএ-তে থ্রেডগুলি একটি বাধার অপেক্ষা করে। সাদৃশ্যগুলিতে, শেডার থ্রেডগুলির সাথে কী ঘটে?
teodron

@ টিড্রন হ্যাঁ, আমি সিডুএ সম্পর্কে আমার বোঝাপড়া নিয়েছি এবং জিপিইউগুলিতে প্রয়োগ করেছি; আমি নিশ্চিত যে তারা লকস্টেপে রয়েছে, তবে আমি চাইম বাছাই করার জন্য কোনও জ্ঞানী; যাহাই হউক না কেন, এখানে চল কিছু সম্পর্কিত williamedwardscoder.tumblr.com/post/26628848007/rod-marching
উইল

উত্তর:


8

জিপিইউ দূরত্বের ক্ষেত্রের রে-মার্চিংয়ে (এবং অন্যান্য বিষয়গুলি) নিয়ে জিডিসি ২০১২-তে একটি চমৎকার কথা হয়েছিল: http://directtovideo.wordpress.com/2012/03/15/get-my-slides-from-gdc2012/

কর্মক্ষমতা যতদূর যায়, সর্বশেষ (ডিএক্স 11-শ্রেণি) গ্রাফিক্স কার্ডগুলি সিমডি ইউনিটগুলিতে শেডারগুলি চালায় যা 32 (এনভিআইডিআইএ) বা 64 (এএমডি) লকস্টেপে "থ্রেড" চালায়। এই গোষ্ঠীগুলি বিভিন্নভাবে ওয়ার্পস বা ওয়েভফ্রন্ট হিসাবে পরিচিত। পিক্সেল শেডারগুলির জন্য, প্রতিটি থ্রেড একটি পিক্সেলের সমান, তাই আমি আশা করব যে সিমডি ইউনিট একসাথে 8x4 (এনভিআইডিআইএ) বা 8x8 (এএমডি) ব্লকের মতো কিছু প্রক্রিয়াজাত করছে। ব্রাঞ্চিং এবং প্রবাহ নিয়ন্ত্রণ প্রতি-ওয়েভফ্রন্টে সম্পন্ন হয়, সুতরাং একটি ওয়েভফ্রন্টের সমস্ত থ্রেডকে সেই তরঙ্গফ্রন্টের মধ্যে গভীরতম পৃথক পিক্সেলের চেয়ে বহুগুণ লুপ করতে হয়। সিমড লেন মুখোশগুলি ইতিমধ্যে শেষ হওয়া পিক্সেলগুলির জন্য কার্যকরকরণ বন্ধ করবে, তবে তাদের এখনও নিরবে নিরঙ্কিতভাবে পুরো ওয়েভফ্রন্টের প্রবাহ নিয়ন্ত্রণের সাথে যেতে হবে। এর অর্থ অবশ্যই, যখন শাখাটি সুসংগত হয় তখন সিস্টেমটি আরও কার্যকর,

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


2

আমি একটি টেরিফ্লপে রানিং কোড পড়ার পরামর্শ দিচ্ছি : জিপিইউ শেডার কোরস ওয়ার্ক (পিডিএফ) সিগগ্রাফ ২০০৮ থেকে : প্রোগ্রামেবল শেডিং ছাড়িয়ে । এটি ডায়নামিক ব্রাঞ্চিং সম্পর্কে কথা বলে।


0

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


-4

int s = 0;

এখন (ইনট কে = 1; কে <= এন; কে ++) {এস + = কে; s এর মতো এস = এন * (এন + 1) / 2

সুতরাং এটি সাধারণভাবে সত্য নয়: ডি


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