原创 在 C 語言中嵌入 mpi4py 程序

本文從本人簡書博客同步過來 在上一篇中我們介紹了用 f2py 包裝 Fortran 語言 MPI 程序以供 mpi4py 調用的方法,可以看到包裝 C, C++,Fortran 等其它計算機語言的 MPI 程序供 mpi4py 調

原创 LSF 作業管理系統

本文從本人簡書博客同步過來 在上一篇中我們簡要介紹了 PBS 作業管理系統,下面我們將介紹 LSF 作業管理系統。 簡介 LSF (Load Sharing Facility)是一個被廣泛使用的作業管理系統,具有高吞吐、配置靈活的

原创 MPI-3 非阻塞通信子複製和組集合通信子創建方法

本文從本人簡書博客同步過來 在上一篇中我們介紹了 mpi4py 中的近鄰集合通信方法,下面我們將介紹 mpi4py 中的非阻塞通信子複製和組集合通信子創建方法。 非阻塞通信子複製方法 MPI.Comm.Idup 和組集合通信子創建

原创 MPI-3 非阻塞集合通信

本文從本人簡書博客同步過來 在上一篇中我們概要地介紹了最新的 MPI-3 標準中引進的新特性,mpi4py 3.0.0 支持 MPI-3 的很多新特性,我們將在後面逐步介紹,下面我們首先介紹 mpi4py 中的非阻塞集合通信。 在

原创 MPI-3 近鄰集合通信

本文從本人簡書博客同步過來 在上一篇中我們介紹了 mpi4py 中的非阻塞集合通信方法,下面我們將介紹 mpi4py 中的近鄰集合通信方法,另一個 MPI-3 引進的新特性。 近鄰集合通信(neighborhood collect

原创 PBS 作業管理系統

本文從本人簡書博客同步過來 在上一篇中我們非常簡單地介紹了在 C 語言中嵌入 mpi4py 程序的方法。 前面我們所給出的各個例程一般都是在單臺計算機上直接使用 mpiexec 或 mpirun 執行的,但是在實際應用中,對規模比

原创 MPI-3 中線程安全的 Mprobe

本文從本人簡書博客同步過來 在上一篇中我們介紹了 MPI 中多線程的使用,下面我們將介紹 MPI-3 中線程安全的 Mprobe。 Probe 和 Iprobe 操作的作用是在不實際接收消息的情況下檢查消息中包含的信息,據此決定接

原创 MPI-3 新特性

本文從本人簡書博客同步過來 在上一篇中我們介紹了 SLURM 資源管理系統,下面將介紹 MPI-3 的新特性。 在前面我們介紹了 MPI 的基本概念和使用 mpi4py 在 Python 環境下進行 MPI 編程的方法。不過前面的

原创 SLURM 資源管理系統

本文從本人簡書博客同步過來 在上一篇中我們簡要介紹了 LSF 作業管理系統,下面將介紹 SLURM 資源管理系統。 簡介 SLURM (Simple Linux Utility for Resource Management)是一

原创 MPI-3 中增強的單邊通信

本文從本人簡書博客同步過來 在上一篇中我們介紹了 MPI-3 中引進的非阻塞通信子複製和組集合通信子創建方法,下面我們將介紹 MPI-3 中增強的單邊通信方法。 MPI-2 引進了單邊通信,也稱遠端內存訪問(Remote Memo

原创 MPI-3 中大的計數及相關函數

本文從本人簡書博客同步過來 在上一篇中我們介紹了非線程安全的 Probe 和 MPI-3 中線程安全的 Mprobe,下面將介紹 MPI-3 中大的計數及相關函數。 在 MPI-1 和 MPI-2 標準中,所有的通信和 I/O 函

原创 並行快速傅里葉變換 mpi4py-fft

本文從本人簡書博客同步過來 在上一篇中我們介紹了一個使用 mpi4py 實現的並行日誌工具 —— python-mpi-logger,下面將介紹一個並行的快速傅里葉變換庫 —— mpi4py-fft。 快速傅里葉變換(FFT)簡介 快

原创 並行日誌 python-mpi-logger

本文從本人簡書博客同步過來 在上一篇中我們介紹了在 IPython 中使用 mpi4py,下面我們將介紹一個使用 mpi4py 實現的並行日誌工具 —— python-mpi-logger。 在介紹 python-mpi-logger

原创 在 IPython 中使用 mpi4py

本文從本人簡書博客同步過來 在上一篇中我們介紹了 mpi4py 與 OpenMP 混合編程,下面我們將介紹在 IPython 中使用 mpi4py。 IPython 簡介 Python 的一個重要特性是其提供的交互式解釋器,在其中可以

原创 mpi4py 與 OpenMP 混合編程

本文從本人簡書博客同步過來 在上一篇中我們介紹了在 cython 中使用 mpi4py 的方法,下面我們將介紹 mpi4py 與 OpenMP 混合編程。 OpenMP 簡介 OpenMP (Open Multi-Processing