जैक्सनविले में प्रस्ताव P0024r2 को प्रभावी ढंग से Parallelism TS से विनिर्देशों को अपनाने के लिए C++17 (draft) में स्वीकार किया गया था। यह प्रस्ताव निष्पादन नीति तर्क लेने वाले कई एल्गोरिदम के लिए अधिभार जोड़ता है यह इंगित करने के लिए कि किस प्रकार की समांतरता पर विचार किया जाना चाहिए।एसटीएल के समांतर एल्गोरिदम का उपयोग कर उपयोगकर्ता पर बाधाएं क्या हैं?
std::execution::sequenced_policy
एकconstexpr
वस्तु के साथ (20.19.4 [execpol.seq])std::execution::seq
(20.19.7 [parallel.execpol.objects: तीन निष्पादन नीतियों पहले से ही में<execution>
(20.19.2 [निष्पादन]) में परिभाषित कर रहे हैं ]) निष्पादन नीति के बिना एल्गोरिदम को कॉल करने के समान अनुक्रमिक निष्पादन को इंगित करने के लिए।std::execution::parallel_policy
(20.19.5 [execpol.par])constexpr
ऑब्जेक्टstd::execution::par
(20.19.7 [parallel.execpol.objects]) के साथ संभावित रूप से एकाधिक धागे का उपयोग करके एल्गोरिदम के निष्पादन को इंगित करने के लिए।std::execution::parallel_unsequenced_policy
एकconstexpr
वस्तुstd::execution::par_unseq
(20.19.7 [parallel.execpol.objects]) एल्गोरिदम संभावित वेक्टर निष्पादन और/या एक से अधिक थ्रेड का उपयोग कर के निष्पादन को इंगित करने के साथ (20.19.6 [execpol.vec])।
एसटीएल एल्गोरिदम आमतौर पर उपयोगकर्ता परिभाषित वस्तुओं (इटरेटर, फ़ंक्शन ऑब्जेक्ट्स) तर्क के रूप में लेते हैं। मानक निष्पादन नीतियों का उपयोग करके समांतर एल्गोरिदम के साथ उपयोग करने योग्य बनाने के लिए उपयोगकर्ता द्वारा परिभाषित वस्तुओं पर बाधाएं क्या हैं?
उदाहरण के लिए, नीचे दिए गए उदाहरण में एल्गोरिदम का उपयोग करते समय, FwdIt
और Predicate
के लिए क्या प्रभाव हैं? निष्पादन नीति std::execution::parallel
का उपयोग कर एल्गोरिदम के साथ प्रयोग किया, (नीचे विवरण देखें अनिवार्य रूप से संचालन के लिए विभिन्न तर्क पर एल्गोरिदम द्वारा अपेक्षित) डेटा पैदा करने के लिए अनुमति नहीं है
template <typename FwdIt, typename Predicate>
FwdIt call_remove_if(FwdIt begin, FwdIt end, Predicate predicate) {
return std::remove_if(std::execution::par, begin, end, predicate);
}
पढ़ें http://en.cppreference.com/w/cpp/algorithm/execution_policy_tag_t मैं समझता हूं कि यह उपयोगकर्ता की ज़िम्मेदारी है ... जो भी इसका मतलब है ... तो मैं भी प्रतिक्रियाओं का इंतजार कर रहा हूं – PiotrNycz