نمایش نتایج 1 تا 7 از 7

نام تاپیک: برنامه نویسی موازی در vs C++‎‎‎ 2010 به وسیله OPENMP

  1. #1

    برنامه نویسی موازی در vs C++‎‎‎ 2010 به وسیله OPENMP

    با عرض سلام خدمت اساتید عزیز بنده قصد دارم این قطعه کد رو موازی سازی کنم

    for (i=1; i<=n-diagonal; i++)
    {
    j=i+diagonal;
    sum=0;
    for (m=i; m<=j; m++)
    sum+=P[m];
    A[i][j]=A[i][i-1]+A[i+1][j]+sum;
    R[i][j]=i;

    for (k=i; k<=j; k++)
    {
    min=A[i][k-1]+A[k+1][j]+sum;
    if(min<A[i][j])
    {
    A[i][j]=min;
    R[i][j]=k;
    }
    }
    }

    با توجه به راهنمایی هایی که کردین من این چند خط رو به ابتدای کد ام اضافه کردم

    #pragma omp parallel shared(i,j,m,k,sum,min) num_threads(4)
    {
    #pragma omp for
    ولی مشکل این هست که در حالت موازی به جای تسریع دیر تر به جواب میرسم میشه لطفا منو راهنمایی کنید آیا موازی سازی رو درست انجام دادم؟ آیا pragma omp for هارو میشه برای هر for تو در تو بنویسم؟ خیلی واجبه اساتید لطفا کمکم کنین
    در ضمن پردازنده ام core i5 و تعداد thread هام 4 تا هست...

  2. #2

    نقل قول: برنامه نویسی موازی در vs C++‎‎‎ 2010 به وسیله OPENMP

    کسی کمکی نمیکنه؟

  3. #3

    نقل قول: برنامه نویسی موازی در vs C++‎‎‎ 2010 به وسیله OPENMP

    من هم همین مشکل دارم ...

    کامپایل میشود اما هیچ کاری نمی کند ... من با Resourrce monitor هم برنامه را نگاه میکنم اما حتی یک دونه threads هم نسبت به حالت سریال اضافه نمیشود ...

    اگر کسی تجربه داره یک کمکی بکنه ....

  4. #4

    نقل قول: برنامه نویسی موازی در vs C++‎‎‎ 2010 به وسیله OPENMP

    فکر کنم مشکل شما با نگاه کردن به لینک زیر حل بشه
    https://barnamenevis.org/showthread.p...4%D9%87-OPENMP

    مشکل من اینه که موازی برنامه دیرتر از سری اش جواب میده
    این بار هم به این ترتیب تغییر دادم کد رو
    #pragma omp parallel shared(i,j,m,sum) num_threads(4)
    {
    #pragma omp for
    for (i=1; i<=n-diagonal; i++)
    {
    j=i+diagonal;
    sum=0;
    for (m=i; m<=j; m++)
    sum+=P[m];
    A[i][j]=A[i][i-1]+A[i+1][j]+sum;
    R[i][j]=i;
    #pragma omp parallel shared(i,j,k,sum,min) num_threads(4)
    {

    #pragma omp for
    for (k=i; k<=j; k++)
    {
    min=A[i][k-1]+A[k+1][j]+sum;
    if(min<A[i][j])
    {
    A[i][j]=min;
    R[i][j]=k;
    }
    }
    }
    }

    ولی باز تعداد داده ها که زیاد میشه دیر تر از برنامه سری به جواب میرسه...
    لطفا یکی کمک کنه خیلی مهمه برایه من...

  5. #5

    نقل قول: برنامه نویسی موازی در vs C++‎‎‎ 2010 به وسیله OPENMP

    هر چیزی رو که نباید موازی کرد
    اول این باید دستورات طوری باشن که دقیقا رو هر هسته در یک زمان اجرا بشه
    این که شما نوشتی داخلش کلی شرط و .. هست

    مثلا فرض کن می خوای تک تک پیکسل های ی تصویر رو با رنگ قرمز ضرب کنی این موقع ها موازی بدر می خوره

    void imageMul(pixel* color, int nPixel, pixel mul)
    {
    #pragma omp for nowait
    for(int i = 0; i < nPixel; i++)
    color[i] = color[i] * mul;
    }

  6. #6

    نقل قول: برنامه نویسی موازی در vs C++‎‎‎ 2010 به وسیله OPENMP

    نقل قول نوشته شده توسط __UFNHGGI_H__ مشاهده تاپیک
    هر چیزی رو که نباید موازی کرد
    اول این باید دستورات طوری باشن که دقیقا رو هر هسته در یک زمان اجرا بشه
    این که شما نوشتی داخلش کلی شرط و .. هست

    مثلا فرض کن می خوای تک تک پیکسل های ی تصویر رو با رنگ قرمز ضرب کنی این موقع ها موازی بدر می خوره

    void imageMul(pixel* color, int nPixel, pixel mul)
    {
    #pragma omp for nowait
    for(int i = 0; i < nPixel; i++)
    color[i] = color[i] * mul;
    }
    خوب چه فرقی میکنه من میخوام هر یک از for ها به صورت موازی اجرا بشه این که داخلش کلی شرط هست دلیل نمیشه که دیر تر جواب بده اصولا باید چند برابر سریع تر به جواب برسیم ...

  7. #7

    نقل قول: برنامه نویسی موازی در vs C++‎‎‎ 2010 به وسیله OPENMP

    در این پست هم روش نصب CUDA هم یک مثال از اون رو گذاشتم. هم برنامه نویسی موازی روی پردازنده های چندهسته ای با openMP رو با یک مثال گذاشتم.

    دوستان اگر نکته ای آموزشی چیزی در مورد برنامه نویسی موازی با پردازنده های چند هسته ای پردازنده های گرافیکی و چند پردازنده ای بلدید همونجا بذارید.

تاپیک های مشابه

  1. آموزش: برنامه نویسی موازی در vs C++‎ 2010 به وسیله OPENMP
    نوشته شده توسط sibooy در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 29
    آخرین پست: سه شنبه 19 دی 1396, 13:14 عصر
  2. برنامه نویسی موازی
    نوشته شده توسط bpzone در بخش C#‎‎
    پاسخ: 9
    آخرین پست: دوشنبه 06 اردیبهشت 1395, 07:40 صبح
  3. مقاله: دانلود کتاب فارسی برنامه نویسی موازی با C#‎ 2010 و NET 4.
    نوشته شده توسط zahmatkesh8519 در بخش C#‎‎
    پاسخ: 0
    آخرین پست: چهارشنبه 28 تیر 1391, 23:25 عصر
  4. برنامه نویسی موبایل با Visual Studio 2010 Proffesional
    نوشته شده توسط mostafarastin239 در بخش WPF
    پاسخ: 2
    آخرین پست: یک شنبه 29 شهریور 1388, 03:50 صبح
  5. کمک : برنامه نویسی موازی
    نوشته شده توسط nima_trade در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 11
    آخرین پست: پنج شنبه 19 آذر 1383, 00:43 صبح

قوانین ایجاد تاپیک در تالار

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