Chuyển đến nội dung chính

Hướng dẫn cài đặt MPI cho Visual Studio

MPI là gì?

MPI (Message Passing Interface) là một tiêu chuẩn giao tiếp cho các chương trình song song. Nó cho phép các chương trình được viết bằng nhiều ngôn ngữ lập trình khác nhau (như C, C++, Fortran) để giao tiếp với nhau trên các hệ thống máy tính phân tán.

Cơ bản về MPI

Process: MPI xem một chương trình song song như một tập hợp các process độc lập. Mỗi process có bộ nhớ riêng và thực thi cùng một mã chương trình.

Giao tiếp: Các process giao tiếp với nhau bằng cách gửi và nhận các thông điệp. MPI cung cấp các hàm để gửi và nhận các thông điệp giữa các process.

Communicator: Một communicator là một nhóm các process được sử dụng để giao tiếp. MPI cung cấp các hàm để tạo và quản lý các communicator.

Cài đặt MPI

Trong phần này, mình sẽ hướng dẫn bạn cài đặt MPI với Visual Studio Community. Bạn có thể sử dụng Visual Studio Code nếu cần 1 IDE nhẹ, ít chiếm tài nguyên

Cài đặt Visual Studio Community

Visual Studio Community là một phiên bản miễn phí của Integrated Development Environment (IDE) phổ biến của Microsoft, Visual Studio. Nó được thiết kế cho các nhà phát triển cá nhân, sinh viên, nhà phát triển mã nguồn mở và các tổ chức nhỏ.

Download: https://visualstudio.microsoft.com/vs/community/

Chọn Workload C++ trong quá trình cài đặt: Trong bước "Workload", hãy đảm bảo bạn đã chọn "Desktop development with C++".

Nhấp vào nút "Install" để bắt đầu quá trình cài đặt.

Cài đặt MPI

Download MPI: https://www.microsoft.com/en-us/download/details.aspx?id=57467

Bạn sẽ cài đặt: msmpisetup.exe và msmpisdk.msi.

Chương trình sẽ gợi ý cài dặt vào C:\Program Files\Microsoft SDK\. Theo ý kiến cá nhân mình, nên để đường dẫn không có khoảng trắng, ví dụ cài đặt vào C:\MPI

Viết chương trình đầu tiên

Mở Visual Studio lên, chọn New Project -> Console Application, rồi nhập đoạn code sau:

// MpiHelloWorld.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <stdio.h>
#include <mpi.h>

int main()
{
    // Initialize the MPI environment
    MPI_Init(NULL, NULL);

    // Get the number of processes
    int world_size;
    MPI_Comm_size(MPI_COMM_WORLD, &world_size);

    // Get the rank of the process
    int world_rank;
    MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);

    // Get the name of the processor
    char processor_name[MPI_MAX_PROCESSOR_NAME];
    int name_len;
    MPI_Get_processor_name(processor_name, &name_len);

    // Print off a hello world message
    printf("Hello world from processor %s, rank %d out of %d processors\n",
        processor_name, world_rank, world_size);

    // Finalize the MPI environment.
    MPI_Finalize();

    return 0;
}

Cấu hình MPI

Trước khi cài đặt, bạn cần xác định Platform là x64 hay Win 32bit. Nhấp phải vào Project chọn Properties.

Trong cửa sổ Properties Page chọn C/C++ -> Additional Include Directory, thêm đường dẫn MPI\Include (thư viện được cài đặt ở bước 1)

Sau khi cấu hình
D:\Softwares\Microsoft SDKs\MPI\Include
%(AdditionalIncludeDirectories)

Ở pannel, chọn Linker -> Generanl -> Additional Library Directories, bạn thêm Lib của MPI. Sau khi thêm Lib, kết quả như sau

D:\Softwares\Microsoft SDKs\MPI\Lib\x64
D:\Softwares\Microsoft SDKs\MPI\Lib\x86
%(AdditionalLibraryDirectories)
Mở Linker -> Input, thêm dòng: msmpi.lib
msmpi.lib
%(AdditionalDependencies)

Sau đó bạn bấm Apply -> Ok.

Quay trở lại chương trình, bấm F5 để thực hiện Build -> Execute

Nhận xét

Bài đăng phổ biến từ blog này

[ASP.NET MVC] Authentication và Authorize

Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize Authentication xác nhận bạn là ai. Ví dụ: Bạn có thể đăng nhập vào hệ thống bằng username và password hoặc bằng ssh. Authorization xác nhận những gì bạn có thể làm. Ví dụ: Bạn được phép truy cập vào website, đăng thông tin lên diễn đàn nhưng bạn không được phép truy cập vào trang mod và admin.

ASP.NET MVC: Cơ bản về Validation

Validation (chứng thực) là một tính năng quan trọng trong ASP.NET MVC và được phát triển trong một thời gian dài. Validation vắng mặt trong phiên bản đầu tiên của asp.net mvc và thật khó để tích hợp 1 framework validation của một bên thứ 3 vì không có khả năng mở rộng. ASP.NET MVC2 đã hỗ trợ framework validation do Microsoft phát triển, tên là Data Annotations. Và trong phiên bản 3, framework validation đã hỗ trợ tốt hơn việc xác thực phía máy khách, và đây là một xu hướng của việc phát triển ứng dụng web ngày nay.

Tổng hợp một số kiến thức lập trình về Amibroker

Giới thiệu về Amibroker Amibroker theo developer Tomasz Janeczko được xây dựng dựa trên ngôn ngữ C. Vì vậy bộ code Amibroker Formula Language sử dụng có syntax khá tương đồng với C, ví dụ như câu lệnh #include để import hay cách gói các object, hàm trong các block {} và kết thúc câu lệnh bằng dấu “;”. AFL trong Amibroker là ngôn ngữ xử lý mảng (an array processing language). Nó hoạt động dựa trên các mảng (các dòng/vector) số liệu, khá giống với cách hoạt động của spreadsheet trên excel.