إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

هل من العملي التفكير في برمجة برنامج لكي يستفيد من تعدد الانوية

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [سؤال] هل من العملي التفكير في برمجة برنامج لكي يستفيد من تعدد الانوية

    السلام عليكم ورحمة الله وبركاته
    سألني صديق فقال: لدي برنامج قمت بعمله عن طريق Qt وافكر الآن في الاستفادة من تعدد الانوية لتسريع عمل البرنامج بحيث ﻻ يحتاج إلى وقت طويل اثناء معالجة الملفات ، فهو يحتاج إلى ٢٠ دقيقة احيانا لكي ينتج الملف النهائي (واحيانا ٢٠ ثانية!).
    هل يمكن عمل ذلك ؟
    واذا كان ذلك ممكن فهل هو عملي من ناحية اختصار الوقت؟
    وشكرا لكل من يدلي بدلوه مقدما .

  • #2
    تقصد Multithreading ؟

    تعليق


    • #3
      واذا كان ذلك ممكن فهل هو عملي من ناحية اختصار الوقت؟
      إذا كان بإمكانك تقسيم العمل على أكثر من برنامج فإن كل برنامج سيعمل على نواة تماما كما في
      make -j 4
      حيث سيتم تنفيذ 4 مصنفات gcc في نفس الوقت

      تعليق


      • #4
        المشاركة الأصلية بواسطة أمين روخ مشاهدة المشاركة
        تقصد Multithreading ؟
        نعم اخي امين.
        اتمنى ايضا ذكر معنى "CUDA based /Tesla technology" فقد ذكرت في احد الاشخاص ولم اعرف المقصود بها.

        تعليق


        • #5
          افضل الmulti-process مميزاتها انها ابسط واسهل واوضح (بعكس الthreading حيث تقوم بعمل un/lock للموارد بشكل متكرر لانها متشاركة ) ولكن يعيبها ان تقوم بعمل نسخة اخرى copy من الprocess بكل مواردها (مع ان العملية تقام بمفهوم copy on write ) ولكن الthreading تشارك الموارد .

          باختصار الmulti-process يعيبها شيئين . اولا استقلالية الموارد لكل process (ولكن يمكن التغلب عليها براى اذا احكم عمل الprocess بما تحتاجة باستقلالية و يمرر الباقى بIPC مثل ال (pipe
          2-فى البيئات الاخرى مثل الويندوز تكون عمل process جديدة اكثر كلفة من الthreading بشكل ملحوظ .

          للعلم جوجل كروم يستخدم الmulti-process

          http://users.actcom.co.il/~choo/lupg/tutorials/multi-process/multi-process.html
          2v || 2v

          www.3dvui.org

          تعليق


          • #6
            المشاركة الأصلية بواسطة المطر مشاهدة المشاركة
            نعم اخي امين.
            اتمنى ايضا ذكر معنى "CUDA based /Tesla technology" فقد ذكرت في احد الاشخاص ولم اعرف المقصود بها.
            CUDA تقنية من NVidia تعتمد للحساب على GPU وليس CPU أي نواة كرت الشاشة
            وهي أسرع من القيام بالعمليات عن طريق CPU خاصة للـ multithreading

            تعليق

            يعمل...
            X