• Internet resurslar: 7. https://ru.scribd.com 8. www.tenouk.com 9. https://en.wikipedia.org
  • Fakultet: Kompyuter injiniringi Kafedra: Kompyuter tizimlari “ Parallel kompyuter arxitekturasi va dasturlash ” fanidan Kurs ishi




    Download 0,7 Mb.
    Pdf ko'rish
    bet11/11
    Sana19.01.2024
    Hajmi0,7 Mb.
    #141198
    1   2   3   4   5   6   7   8   9   10   11
     


    22 
    Foydalanilgan adabiyotlar 
    1. M.M. Musayev. “Kompyuter tizimlari va tarmoqlari” Toshkent 2013. 
    2. А.С. Антоновv “Параллельное программирование с использованием 
    технологии OpenMP”. Москва 2009. 
    3. V.V. Voyevodin “Parallel hisoblash”. Москва 2002. 
    4. Stolings U. “Kompyuter tizimlarini arxitekturasi”. Москва 2002. 
    5.
    David A. Patterson John L. Hennessy “COMPUTER ORGANIZATION
    AND DESIGN” 2012. 
    6. M. Sato “OpenMP. Parallel programming for multicore processors”.
    University of Tskuba 2012. 
    Internet resurslar: 
     
    7. 
    https://ru.scribd.com
     
    8. 
    www.tenouk.com
     
    9. 
    https://en.wikipedia.org
     


    23 
    ILOVA 
    #pragma once 
    #include  
    #include  
    #include  
    #include  
    namespace Forma { 
    using namespace System; 
    using namespace System::ComponentModel; 
    using namespace System::Collections; 
    using namespace System::Windows::Forms; 
    using namespace System::Data; 
    using namespace System::Drawing; 
    ///  
    /// Сводка для MyForm 
    /// 
     
    public ref class MyForm : public System::Windows::Forms::Form 

    public: MyForm(void) 
    { InitializeComponent(); 
    ////TODO: добавьте код конструктора 
    //} 
    protected: 
    ///  
    /// Освободить все используемые ресурсы.
    /// 
     
    ~MyForm() 
    { if (components) 


    24 
    { delete components;} } 
    private: System::Windows::Forms::Button^ button1; 
    protected: 
    private: 
    private: System::Windows::Forms::RichTextBox^ richTextBox1; 
    private: System::Windows::Forms::Label^ label3; 
    private: System::Windows::Forms::Label^ label4; 
    private: System::Windows::Forms::Label^ label1; 
    public: 
    public: 
    private: 
    private: System::ComponentModel::IContainer^ components
    private: 
    ///  
    /// Требуется переменная конструктора. 
    /// 
     
    #pragma region Windows Form Designer generated code 
    ///  
    /// Обязательный метод для поддержки конструктора - не 
    изменяйте 
    /// содержимое данного метода при помощи редактора кода. 
    /// 
     
    void InitializeComponent(void) 
    { this->button1 = (gcnew System::Windows::Forms::Button()); 
    this->richTextBox1 = (gcnew 
    System::Windows::Forms::RichTextBox()); 
    this->button1->Click += gcnew System::EventHandler(this, 
    &MyForm::button1_Click); 
    // // richTextBox1 


    25 
    //
    this->richTextBox1->Font = (gcnew System::Drawing::Font(L"Times New 
    Roman", 13, System::Drawing::FontStyle::Bold, 
    System::Drawing::GraphicsUnit::Point, 
    static_cast(204))); 
    this->richTextBox1->ForeColor = 
    System::Drawing::SystemColors::MenuHighlight; 
    this->richTextBox1->Location = System::Drawing::Point(12, 
    103);
    this->richTextBox1->Name = L"richTextBox1"; 
    this->richTextBox1->Size = System::Drawing::Size(556, 258); 
    this->richTextBox1->TabIndex = 4; 
    this->richTextBox1->Text = L""; 
    // // label3 
    // this->label3->AutoSize = true; 
    this->label3->Font = (gcnew System::Drawing::Font(L"Times 
    New Roman", 14.25F, System::Drawing::FontStyle::Bold, 
    System::Drawing::GraphicsUnit::Point, 
    static_cast(204))); 
    this->label1->AutoSize = true; 
    this->label1->Location = System::Drawing::Point(10, 378); 
    this->label1->Name = L"label1"; 
    this->label1->Size = System::Drawing::Size(248, 13); 
    this->label1->TabIndex = 11; 
    this->label1->Text = L"212-13-guruh talabalari: Abdiyev M., 
    Ashuraliyev H."; 
    // // MyForm
    this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); 
    this->AutoScaleMode = 
    System::Windows::Forms::AutoScaleMode::Font; 
    this->ClientSize = System::Drawing::Size(609, 402); 


    26 
    this->Controls->Add(this->richTextBox1); 
    this->Controls->Add(this->button1); 
    this->Name = L"MyForm"; 
    this->Text = L"OpenMP"; 
    this->Load += gcnew System::EventHandler(this, 
    &MyForm::MyForm_Load); 
    this->ResumeLayout(false); 
    this->PerformLayout(); } 
    #pragma endregion 
    private: System::Void MyForm_Load(System::Object^ sender, 
    System::EventArgs^ e) { 

    private: System::Void button1_Click(System::Object^ sender, 
    System::EventArgs^ e) { 
    long double s1 = 0, s2 = 0; 
    double a = 1.3, b = 3.5, c = 3.1, d = 3.4; 
    double t1, t2, k1, k2, k3; 
    //-------------------------chiziqli--------------------------------------- 
    //t1 = omp_get_wtime(); 
    t1 = omp_get_wtime(); 
    for (int i = 0; i < 1000000; i++) 
    s1 += ((a + b)*(c + d / a) + i*(a + b + c))*d + a + d*d; 
    t2 = omp_get_wtime(); 
    k1 = (t2 - t1); 
    richTextBox1->Text = "Chiziqli holatda hisoblashga ketgan vaqt:\n " 
    + k1 + "\t\n Natija : " + s1; 
    richTextBox1->Text += "\n--------------------------------------------"; 
    //------------------Parallel no shaklan parallel emas-------------------------
    ------------------- 


    27 
    t1 = omp_get_wtime(); 
    omp_set_num_threads(4); 
    #pragma omp for 
    for (int i = 0; i < 1000000; i++){ 
    s2 += a*c*d + 2 * d*d + d*b*c + b*d*d / a + i*a*d + i*b*d +a 
    + i*c*d; } 
    t2 = omp_get_wtime(); 
    k2 = t2 - t1; 
    richTextBox1->Text += "\nParallel qavslar ochib hisoblangan holatni 
    hisoblashga ketgan vaqt:\n" + k2 + "\t\n Natija : " + s2; 
    richTextBox1->Text += "\n--------------------------------------------"; 
    //------------------Parallel-------------------------------------------- 
    s2 = 0; 
    t1 = omp_get_wtime(); 
    #pragma omp for 
    for (int i = 0; i < 1000000; i++) 
    s2 += ((a + b)*(c + d / a) + i*(a + b + c))*d + a + d*d; 
    t2 = omp_get_wtime(); 
    k3 = t2 - t1; 
    richTextBox1->Text += "\nParallel hisoblashga ketgan vaqt:\n" + k3 + 
    "\t\n Natija : " + s2; } 
    private: System::Void label1_Click(System::Object^ sender, System::EventArgs^
    e) { } 
    private: System::Void button2_Click(System::Object^ sender, 
    System::EventArgs^ e) { } 
    private: System::Void label3_Click(System::Object^ sender, System::EventArgs^
    e) { }}; } 

    Download 0,7 Mb.
    1   2   3   4   5   6   7   8   9   10   11




    Download 0,7 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Fakultet: Kompyuter injiniringi Kafedra: Kompyuter tizimlari “ Parallel kompyuter arxitekturasi va dasturlash ” fanidan Kurs ishi

    Download 0,7 Mb.
    Pdf ko'rish