Cài đặt Fortran - Ngôn ngữ lập trình số học mạnh mẽ cho khoa học và kỹ thuật

Fortran (FORmula TRANslation) là một trong những ngôn ngữ lập trình lâu đời nhất, được thiết kế chuyên biệt cho tính toán số học và khoa học. Trải qua hơn 60 năm phát triển, Fortran vẫn giữ vị trí hàng đầu trong các lĩnh vực cần hiệu năng tính toán cực cao như mô phỏng vật lý, hóa học, cơ học chất lỏng, khí tượng, tài chính định lượng và HPC (High-Performance Computing). Trong Top 500 siêu máy tính thế giới, hầu hết code lõi (mô phỏng khí động học, thời tiết, vật lý hạt nhân) đều có thành phần lớn viết bằng Fortran, kết hợp C/C++ cho phần điều khiển và Python cho scripting.
Fortran compiler thường tạo ra code máy chạy nhanh hơn C/C++ trong cùng bài toán số học (đặc biệt là mảng, ma trận). Hầu hết các ngôn ngữ hiện đại (Python, Julia, MATLAB, R) đều gọi ngầm Fortran library khi tính toán ma trận, eigenvalue, FFT. 
Ví dụ: numpy.linalg trong Python → thực chất gọi LAPACK (Fortran).
Hiện nay trình biên dịch Fortran phổ biến nhất là GFortran (GNU Fortran) – thuộc dự án GCC. Dưới đây là đoạn script cài đặt trình biên dịch Fortran cho các distro Linux phổ biến (Ubuntu/Debian, CentOS/RHEL/Fedora, Arch)

Cấp quyền và biên dịch hệ thống:
    chmod +x fortran.sh
    ./fortran.sh
Với các dự án lớn trong khoa học tính toán, có thể kết hợp GFortran với MPI (OpenMPI, MPICH) để chạy song song trên nhiều CPU:
Biên dịch đoạn script sau bằng lệnh:
    chmod +x mpi.sh
    ./mpi.sh
Demo: Chương trình Fortran song song với MPI

Biên dịch & chạy:
- Biên dịch với wrapper mpif90 (thực chất gọi gfortran + thư viện MPI): mpif90 hello_mpi.f90 -o hello_mpi
- Khởi tạo và chạy song song với 4 tiến trình: mpirun -np 4 ./hello_mpi  
Kết quả (ví dụ):
     Hello from rank           0 of           4 processes!
     Hello from rank           2 of           4 processes!
     Hello from rank           1 of           4 processes!
     Hello from rank           3 of           4 processes!
Nếu cần hiệu năng cao hơn, có thể thử Intel oneAPI Fortran Compiler (ifort / ifx) – tối ưu rất mạnh trên CPU Intel. Ưu điểm:
+ Tối ưu cực tốt cho CPU Intel (AVX, AVX-512, SIMD)
+ Hỗ trợ song song hóa nâng cao (OpenMP, MPI, Coarray Fortran).
+ Tích hợp với MKL (Intel Math Kernel Library) để xử lý ma trận, FFT, đại số tuyến tính siêu nhanh.
+ Khả năng tương thích cao với code Fortran cũ.

Biên dịch đoạn script sau bằng lệnh:
    chmod +x ifort.sh
    ./ifort.sh
Dưới đây là đoạn chương trình demo nhỏ sau khi cài Intel oneAPI Fortran Compiler (ifort / ifx). Chương trình sẽ thực hiện:
+ In ra thông báo “Hello Intel oneAPI”.
+ Thực hiện nhân ma trận (benchmark nhỏ) để kiểm tra sức mạnh tính toán.

Cách biên dịch & chạy:
+ Với ifort (truyền thống)
    ifort demo_oneapi.f90 -o demo_ifort
    ./demo_ifort
+ Với ifx (LLVM-based)
    ifx demo_oneapi.f90 -o demo_ifx
    ./demo_ifx