هذا هو الأمر hwloc-bind الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
hwloc-bind - إطلاق أمر مرتبط بمعالجات و/أو ذاكرة محددة، أو
استشارة ملزمة لبرنامج موجود
موجز
hwloc- ربط [الخيارات] [ [...] ] [-]
نلاحظ أن هالوك(7) يقدم شرحا مفصلا لنظام hwloc وصالحة
الأشكال. يجب قراءتها قبل قراءة صفحة الدليل هذه.
OPTIONS
--cpubind استخدم الوسائط التالية لربط وحدة المعالجة المركزية (افتراضي).
- تذكر استخدم الوسائط التالية لربط الذاكرة. لو --الذاكرة ولا يعطى أيضاً
السياسة الافتراضية ملزمة.
--الذاكرة
تغيير سياسة ربط الذاكرة. السياسات المتاحة هي الافتراضية،
اللمسة الأولى، والربط، والتكرار، واللمسة التالية. هذا الخيار فقط
يكون ذا معنى عندما يتم أيضًا تقديم ربط فعلي مع - تذكر. إذا - تذكر is
تعطى بدون --الذاكرة، السياسة الافتراضية ملزمة.
--احصل على الإبلاغ عن الارتباطات الحالية.
عند إعطاء أمر، يتم عرض الربط قبل تنفيذ الأمر.
عند عدم إعطاء أي أمر، يخرج البرنامج بعد عرض التيار
ربط.
عند الدمج مع - تذكر، قم بالإبلاغ عن ربط الذاكرة بدلاً من ربط وحدة المعالجة المركزية.
لا يجوز تحديد أي موقع نظرًا لعدم تنفيذ أي ربط.
-e --get-last-cpu-location
قم بالإبلاغ عن المعالجات الأخيرة التي تم تشغيل العملية فيها. لاحظ أن النتيجة قد
قد تكون قديمة بالفعل عند الإبلاغ عنها نظرًا لأن نظام التشغيل قد يقوم بنقل الملف
معالجة المعالجات الأخرى في أي وقت وفقًا للربط.
عند إعطاء أمر، يتم عرض المعالجات الأخيرة قبل تنفيذ الأمر
يأمر. عند عدم إعطاء أي أمر، يخرج البرنامج بعد عرض الأخير
معالجات.
لا يمكن الجمع بين هذا الخيار - تذكر.
لا يجوز تحديد أي موقع نظرًا لعدم تنفيذ أي ربط.
--غير مرتبطة ربط على وحدة المعالجة المركزية واحدة لمنع الترحيل.
--صارم تتطلب ملزمة صارمة.
--معرّف
تعمل على معرف المنتج
-p --بدني
خذ الفهارس OS/المادية بدلاً من الفهارس المنطقية
-l - منطقي
خذ الفهارس المنطقية بدلاً من الفهارس الفعلية/نظام التشغيل (افتراضي)
--مجموعة المهام عرض سلاسل مجموعة CPU بالتنسيق الذي يتعرف عليه سطر أوامر مجموعة المهام
برنامج بدلاً من تنسيق سلسلة مجموعة وحدة المعالجة المركزية الخاصة بـ hwloc. هذا الخيار لا يوجد
التأثير على تنسيق سلاسل مجموعة وحدة المعالجة المركزية للإدخال ، يتم قبول كلا التنسيقين دائمًا.
--بتقييد
قصر الهيكل على cpuset المحدد.
--النظام بأكمله
لا تأخذ في الاعتبار قيود الإدارة.
-f --فرض
قم بتشغيل الملف القابل للتنفيذ حتى في حالة فشل الربط.
-q --هادئ
إخفاء رسائل الخطأ غير الفادحة. ويشمل المواقع التي تشير إلى عدم وجودها
الكائنات، فضلا عن الفشل في ربط. وهذا عادة ما يكون مفيدا بالإضافة إلى
--فرض.
-v - الإسراف
إخراج مطول.
--الإصدار تقرير الإصدار والخروج.
الوصف
يقوم hwloc-bind بتنفيذ ملف قابل للتنفيذ (مع وسيطات سطر أوامر اختيارية) مرتبط بـ
الموقع المحدد (أو قائمة المواقع). عند التنفيذ الناجح، hwloc-bind ببساطة
يقوم بتعيين الارتباطات ثم يقوم بتنفيذ الملف القابل للتنفيذ على نفسه.
إذا فشل الربط، أو إذا كانت مجموعة الربط فارغة، و --فرض لم يعط، hwloc-ربط
يعود مع وجود خطأ بدلاً من تشغيل الملف القابل للتنفيذ.
NOTE: يوصى بشدة بقراءة ملف هالوك(7) نظرة عامة على الصفحة قبل القراءة
صفحة الرجل هذه. معظم المفاهيم الموصوفة في هالوك(7) تنطبق مباشرة على hwloc-
فائدة ربط.
أمثلة
من الأفضل وصف عملية hwloc-bind من خلال عدة أمثلة. مزيد من التفاصيل حول كيفية
تم تحديد المواقع في سطر أوامر hwloc-bind الموضح في هالوك(7).
لتشغيل أمر echo على المعالج المنطقي الأول للحزمة الثانية:
حزمة hwloc-bind:1.pu:0 -- صدى مرحبا
وهو ما يعادل بالضبط
hwloc-bind package:1.pu:0 echo hello
لربط أمر "الصدى" بالنواة الأولى للحزمة الثانية والنواة الثانية لـ
الحزمة الأولى:
hwloc-bind package:1.core:0 package:0.core:1 echo hello
لاحظ أن ربط أمر "echo" بمعالجات متعددة ربما لا معنى له
(لأن "الصدى" من المحتمل أن يتم تنفيذه كتطبيق أحادي الترابط)؛ هذه الأمثلة
يعمل فقط على إظهار ما يمكن أن يفعله hwloc-bind.
للتشغيل على الحزم الثلاث الأولى على العقدتين الثانية والثالثة:
عقدة ربط hwloc:1-2.package:0:3 صدى مرحبا
وهو ما يعادل أيضًا:
عقدة ربط hwloc:1-2.package:0-2 صدى مرحبا
لاحظ أنه إذا حاولت الارتباط بكائنات غير موجودة، فلن يتم تحذير hwloc-bind
ما لم -v تم تحديده.
للتشغيل على المعالج باستخدام الفهرس الفعلي 2 في الحزمة ذات الفهرس الفعلي 1:
hwloc-bind - الحزمة المادية:1.core:2 echo hello
للتشغيل على النوى الفردية ضمن الحزم الزوجية:
حزمة hwloc-bind:even.core:odd echo hello
للتشغيل على الحزمة الأولى، باستثناء المركزين الثاني والخامس:
حزمة hwloc-bind:0 ~package:0.core:1 ~package:0.core:4 echo hello
للتشغيل في أي مكان باستثناء الحزمة الأولى:
hwloc-bind all ~package:0 echo hello
للتشغيل على مركز بالقرب من واجهة الشبكة المسماة eth0:
hwloc-bind os=eth0 echo hello
للتشغيل على مركز بالقرب من جهاز PCI الذي يكون معرف الناقل الخاص به هو 0000:01:02.0:
hwloc-bind pci=0000:01:02.0 صدى مرحبًا
لربط الذاكرة على عقدة الذاكرة الثانية وتشغيلها على العقدة الأولى (عندما يدعمها نظام التشغيل):
hwloc-bind --cpubind العقدة:1 --membind العقدة:0 echo hello
يمكن لخيار --get الإبلاغ عن الارتباطات الحالية. يوضح هذا المثال تداخل hwloc-bind
دعوات لتعيين ربط ثم الإبلاغ عنه:
عقدة ربط hwloc:1.package:2 hwloc-bind --get
على أحد أجهزة مطور hwloc، يُبلغ هذا المثال عن "0x00004444,0x44000000".
قد يكون القناع الموجود على جهازك مختلفًا.
يمكن أيضًا تحديد المواقع كقناع بت سداسي عشري (يتم إنشاؤه عادةً بواسطة hwloc-calc).
فمثلا:
hwloc-bind 0x00004444,0x44000000 صدى مرحبا
hwloc-bind `hwloc-calc عقدة:1.package:2` echo hello
قد يتم أيضًا الإبلاغ عن ربط الذاكرة:
hwloc-bind --membind العقدة: 1 --mempolicy interleave -- hwloc-bind --get --membind
يؤدي هذا إلى إرجاع سلسلة تصف ربط الذاكرة، مثل "0x000000f0 (interleave)".
لاحظ أنه إذا كان النظام لا يحتوي على أي عقد NUMA، فسوف تشير السلسلة المبلغ عنها
أن العملية مرتبطة بذاكرة النظام بالكامل (على سبيل المثال، "0xf...f").
تلميح
إذا كان lstopo الممكّن للرسومات متاحًا، فاستخدمه على سبيل المثال
hwloc-bind core:2 - lstopo -pid 0
للتحقق من النتيجة الفعلية لأمر الربط الخاص بك. سوف lstopo بيانيا
إظهار المكان الذي يرتبط به بواسطة hwloc-bind.
عودة VALUE
عند التنفيذ الناجح، يقوم hwloc-bind بتنفيذ الأمر على نفسه. قيمة الإرجاع هي
لذلك مهما كانت قيمة الإرجاع للأمر.
سوف يُرجع hwloc-bind قيمة غير صفرية في حالة حدوث أي نوع من الأخطاء، مثل (على سبيل المثال لا الحصر):
الفشل في تحليل سطر الأوامر، أو الفشل في استرداد روابط العملية، أو عدم وجود ملف
الأمر للتنفيذ.
استخدم hwloc-bind عبر الإنترنت باستخدام خدمات onworks.net