ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 2 از 2
  1. #1
    2010/01/06
    438
    6

    پردازش با چند هسته

    سلام
    چطور میتونیم کاری کنیم برنامه هایی که مینویسیم تو چند هسته پردازش بشن؟
    من با(c++) Microsoft Visual Studio 2010 کار میکنم
    برای متلب هم راهی هست؟
    نــــ_ـــمـــ_ــــیــــ_ــ
  2. #2
    2008/09/02
    اصفهان
    1,897
    37

    پاسخ : پردازش با چند هسته

    چیزی وجود داره بنام AffinityMask. باید برای هر پروسس اینو مقدار بدی. یک عدد 32 بیتی هست که به ازای هر هسته مجاز برای استفاده یک بیتش (متناظر با شماره هسته) ست میشه. دستورش هم برای پروسس و thread اینه:

    SetProcessAffinityMask و SetThreadAffinityMask.

    اما یک مورد بسیار بسیار بسیار.... مهم:

    چون thread ها با این روش میتونن روی هسته های متفاوت اجرا بشن الزاما برای مواردی که ممکنه thread ها احتیاج به همزمانی داشته باشن و هسته های مورد استفاده این thread ها متفاوت باشه؛ میبایستی از توابع خاصی استفاده بشه که ریسک عملیاتی نداشته باشه و این یعنی دردسر. عموما (و نه همیشه) برنامه ها برای پرهیز از این دردسر ها حالتی رو انتخاب میکنن که کل thread های یک پروسس فقط از یک هسته استفاده کنن.

    برای اطلاع بیشتر از این مورد میتونین توضیحات مربوط به توابع Interlocked رو در MSDN ببینین. ولی عمده اش اینه که مثلا فرض کنین دو thread از mutex برای همزمانی استفاده میکنن. و این object بر اساس دسترسی به حافظه استواره. وقتی یک هسته بیشتر درگیر نباشه چون time sharing استفاده میشه هیچ وقت دو تا thread در یک لحظه (کوانتوم) برای گرفتن تعلق mutex چک نمیشن. اما اگر دو هسته باشه میبایستی از تکنیک های bus lock استفاده بشه که این کار برای موارد عمومی باعث کاهش سرعت میشه بنابراین استفاده نمیشه و بخاطر همین ممکنه دو thread بطور همزمان (چون time sharing فعال نیست) به این mutex برای گرفتن تعلق دسترسی پیدا کنن و هر دو در یک لحظه mutex رو آزاد ببینن و کارشونو ادامه بدن. در صورتی که فقط یک Thread باید کارشو ادامه بده. و این یعنی یک باگ اساسی که معلوم نیست کی پیش بیاد.

نمایش نتایج: از 1 به 2 از 2

موضوعات مشابه

  1. پیاده سازی پردازش گر چند هسته ای با FPGA
    توسط امین اباذری در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 5
    آخرين نوشته: 2016/04/11, 00:06
  2. هوش مصنوعی و شبکه های عصبی پردازش تصویر و پردازش گفتار تحت AForge.net
    توسط amindotb در انجمن پردازش سيگنال و هوش محاسباتي
    پاسخ: 0
    آخرين نوشته: 2014/08/20, 00:14
  3. راه حل پردازش سیگنال در پردازش تصویر
    توسط tinna در انجمن پردازش تصوير
    پاسخ: 0
    آخرين نوشته: 2013/10/06, 20:24
  4. OCR ، پردازش صدا ،پردازش تصوير
    توسط human در انجمن هوش مصنوعی و شبکه های عصبی
    پاسخ: 5
    آخرين نوشته: 2008/07/21, 14:18
  5. پردازش تصوير در دستگاه هاي پزشكي هسته اي مثل spect
    توسط saman81 در انجمن پردازش سيگنال و هوش محاسباتي
    پاسخ: 0
    آخرين نوشته: 2008/01/29, 11:32

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •