CUDA Programming Applications

وبلاگ آموزشی کودا

CUDA Programming Applications

وبلاگ آموزشی کودا

ضرب دو ماتریس با c++

در این مبحث کد ضرب دو ماتریس در c++ و همچنین محاسبه ی زمان آن امده است:

   

 #include<iostream>
#include<conio.h>
#include <ctime>
using namespace std;

int main()
{
    clock_t time;
    time = clock();

    const int n = 1000;
    int A[n][n];
    int B[n][n];
    for (int i = 0; i<n; i++)
    for (int j = 0; j<n; j++)
    {
        A[i][j] = rand() % 100 + 1;
        //clrscr();
    }

    for (int i1 = 0; i1<n; i1++)
    for (int j1 = 0; j1<n; j1++)
    {
        B[i1][j1] = rand() % 100 + 1;
        //clrscr();
    }
    int sum = 0;
    int c[5][5];

    for (int i2 = 0; i2<n; i2++)
    for (int j2 = 0; j2<n; j2++)
    {
        sum = 0;
        for (int k = 0; k<n; k++)
        {
            sum = sum + A[i2][k] * B[k][j2];
        }
        c[i2][j2] = sum;

    }
    //clrscr();

    cout << "\n\n\n\n\n\n";
    cout << "\t\tMatrix natije" << "\n\n\n\n" << "\t\t";
    for (int i3 = 0; i3<n; i3++)
    {
        for (int j3 = 0; j3<n; j3++)
        {
            cout << c[i3][j3] << "  ";
        }
        cout << "\n" << "\t\t";
    }

    cout << endl;


    time = clock() - time;
    cout << "It took me " << time << " clicks and " << ((float)time) / CLOCKS_PER_SEC << " seconds" << endl;
    return 0;
}

خروجی کد بالا در شکل زیر قابل مشاهده است:


زمان انجام محاسبات بالا برابربا 1.743 ثانیه که معادل 0.02 دقیقه می باشد.

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.