كيف يمكنني قراءة النطاق الترددي قيد الاستخدام على ناقل PCIe؟

StackOverflow https://stackoverflow.com/questions/3759079

  •  04-10-2019
  •  | 
  •  

سؤال

أنا أعمل على تطبيق وسائط البث الذي يدفع الكثير من البيانات إلى بطاقة الرسومات عند بدء التشغيل. تقوم وحدة المعالجة المركزية بعمل القليل جدًا عند النقطة التي يتم فيها الضغط على البيانات ، فهي تتدخل على طول الاستخدام الصفر في المئة.

أرغب في مراقبة الآلات التي تكافح في دفع البيانات الأولية ، وأيها يمكن أن تتعامل ، حتى أتمكن من الوصول إلى الحد الأدنى الموصى به لأجهزة عملائنا.

لقد وجدت أن أجهزة الكمبيوتر التي تحتوي على فتحات PCIe 1.1 x16 تكافح مع البيانات الأولية التي يتم دفعها عبر بطاقة الرسومات.

يحتوي جهاز الكمبيوتر الخاص بي على فتحة PCIe 2.0 X16 ، وليس لديه أي مشاكل في التعامل مع كمية كبيرة من البيانات التي يتم دفعها في البداية إلى بطاقة الرسومات.

أحتاج إلى أرقام لإثبات (أو دحض) وجهة نظري.

ما أحب أن أكون قادرًا على تحديد:

ما نوع الفتحة التي يتم تشغيل بطاقة الرسومات؟ ما هي سرعة تلك الفتحة؟ اسم برنامج بطاقة GFX بطاقة GFX

ولكن الأهم من ذلك ، تتدفق البيانات على فتحة PCIe - على سبيل المثال ، إذا كان بإمكاني إظهار أن حافلة PCIE تتوافق مع البيانات ، يمكنني أن أشير إلى ذلك على أنه رقبة الزجاجة.

أعلم أن سرعة ذاكرة النظام هي أيضًا عاملة هنا ، على سبيل المثال ، يتم نقل البيانات من ذاكرة الوصول العشوائي ، فوق ناقل PCIe إلى بطاقة الرسومات ، فهل هناك طريقة لتحديد سرعة ذاكرة النظام أيضًا؟

أخيرًا ، أكتب في C ++ غير المُدارة ، لذا فإن الوصول إلى مكتبات .NET ليس خيارًا.

هل كانت مفيدة؟

المحلول

هل تحصل على أخطاء تدفع كمياتك الهائلة من البيانات ، أم أنك "ببساطة" مهتم بالسرعة البطيئة؟

أشك في أن هناك أي طريقة سهلة لمراقبة استخدام النطاق الترددي PCI-E ، إذا كان ذلك ممكنًا على الإطلاق. ولكن يجب أن يكون من الممكن الاستعلام عن نوع الحافلة الذي يتم توصيله بمحول الفيديو عبر WMI و/أو SetupAPI - ليس لدي أي خبرة شخصية أو روابط مفيدة لأي منهما ، آسف.

نصائح أخرى

بالنسبة إلى NVIDIA GPUS ، يمكنك محاولة استخدام NvAPI_GPU_GetDynamicPstatesInfoEx:

تكشف Nvidia ، من خلال برنامج تشغيل Geforce الخاص بها ، واجهة برمجة ("NVAPI") التي تسمح ، من بين أشياء أخرى ، بجمع قياسات الأداء. بالنسبة للميل الفني ، إليك القسم ذي الصلة في ملف رأس NVAPI.H:

اسم الوظيفة: NVAPI_GPU_GETDYNAMICPSTATESINFOEX

الوصف: يسترجع API هذا NV_GPU_DYNAMIC_PSTATES_INFO_EX للهيكل المادي المحدد. يتم فهرسة معلومات كل مجال في الصفيف. فمثلا:

  • PdynamicpStatesInfo-> الاستخدام [NVAPI_GPU_UTIPING_DOMAIN_GPU] يحمل المعلومات الخاصة بمجال GPU. يوجد حاليًا أربعة مجالات يمكن استرداد استخدام GPU وعتبات P-State الديناميكية: محرك الرسوم (GPU) ، المخزن المؤقت للإطار (FB) ، محرك الفيديو (VID) ، وواجهة الحافلة (BUS).

إلى جانب هذا التعليق ، لم يتم توثيق الوظائف المحددة لـ API. المعلومات أدناه هي أفضل تفسير لدينا لأعمالها ، على الرغم من أنها تعتمد على الكثير من التخمين.

  • من المتوقع أن يكون مقياس محرك الرسومات ("GPU") هو عنق الزجاجة في معظم الألعاب. إذا كنت لا ترى هذا في أو ما يقرب من 100 ٪ ، فإن شيئًا آخر (مثل وحدة المعالجة المركزية أو نظام الذاكرة) يحد من الأداء.
  • يعد مقياس الإطار المخزن المؤقت ("FB") مثيرًا للاهتمام ، إذا كان يعمل على النحو المقصود. من الاسم ، تتوقع أن يقيس استخدام ذاكرة الرسومات (النسبة المئوية للذاكرة المستخدمة). هذا ليس ما هذا ، رغم ذلك. يبدو ، بدلاً من ذلك ، استخدام وحدة تحكم الذاكرة في المئة. إذا كان هذا صحيحًا ، فسيقيس عرض النطاق الترددي الفعلي بواسطة وحدة التحكم ، وهو أمر غير متاح على خلاف ذلك كقياس بأي طريقة أخرى.
  • نحن لسنا مهتمين بمحرك الفيديو ("vid") ؛ لا يتم استخدامه بشكل عام في الألعاب ، ويسجل عادة 0 ٪. سترى فقط حركة الاتصال الهاتفي إذا كنت تقوم بتشفير الفيديو من خلال Shadowplay أو تدفق إلى درع.
  • يشير مقياس واجهة الحافلة ("BUS") إلى استخدام وحدة تحكم PCIe, ، مرة أخرى ، كنسبة مئوية. يسمى القياس المقابل ، والذي يمكنك تتبعه في EVGA PrecisionX و MSI Afterburner ، "استخدام حافلة GPU".

طلبنا من Nvidia إلقاء بعض الضوء على الأعمال الداخلية لـ NVAPI. أكدت استجابتها أن مقياس FB يقيس استخدام عرض النطاق الترددي لذاكرة الرسومات ، ولكن رفضت Nvidia مقياس الحافلة على أنه "يعتبر غير موثوق به وبالتالي لا يستخدم داخليًا".

سألنا AMD عما إذا كان لديه أي واجهة برمجة تطبيقات أو وظيفة سمحت بإجراء قياسات مماثلة. بعد التحقق الداخلي ، أكد ممثلو الشركة أنهم لم يفعلوا ذلك. بقدر ما نرغب في ذلك ، لا يمكننا إجراء اختبارات مماثلة على أجهزة AMD.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top