कहो मैं निम्नलिखित सी कार्यक्रम पर चलने के लिए एसी कार्यक्रम के लिए मजबूर करने:कैसे एक विशेष कोर
#include <stdio.h>
int main()
{
printf("Hello world \n");
getchar();
return 0;
}
gcc 1.c -o helloworld
और, कहते हैं कि मैं एक डुअल कोर मशीन है:
cat /proc/cpuinfo | grep processor | wc -l
अब मेरे सवाल है जब हम कार्यक्रम क्रियान्वित, हम कैसे कोर-0 में चलाने के लिए इस कार्यक्रम के (या किसी अन्य विशेष कोर) के लिए मजबूर करते हैं?
इस प्रोग्रामेटिक तरीके से कैसे करें? उदाहरण, एपीआई, कोड संदर्भ सहायक होगा।
यदि कोई एपीआई उपलब्ध नहीं है तो क्या कोई संकलन समय, लिंक समय, ऐसा करने का लोड समय तरीका है?
ओटीओएच, यह जांचने के लिए कि कोई प्रोग्राम कोर -0 या कोर -1 (या किसी अन्य कोर) में चल रहा है या नहीं?
यह सी के दायरे में नहीं है। आपको यह देखने के लिए अपने ऑपरेटिंग सिस्टम के दस्तावेज़ों को जांचना होगा कि ओएस ऐसी सुविधा का खुलासा करता है या नहीं। –
लिनक्स के तहत आप टास्कसेट का उपयोग करके एफ़िनिटी सेट कर सकते हैं, मैं केरेक के साथ भी सहमत हूं कि यह एक ऑपरेशन सिस्टम प्रश्न –
है, जबकि आप बाद में लॉन्च प्रक्रिया के मूल संबंध को सेट करने के लिए टास्कसेट का उपयोग कर सकते हैं, तो वह स्पष्ट रूप से एपीआई और कैसे करना है यह प्रोग्रामेटिक रूप से – hirschhornsalz