Tabla de contenido
Instale la biblioteca de terceros OMP (el primer método):
Prueba OpenMP en el editor vim:
Instale el marco llvm (segundo método):
introducción:
Recientemente entré en el pozo del desarrollo de programas paralelos. Hoy tomé prestados algunos libros sobre desarrollo de programas paralelos en la biblioteca por capricho y aprendí sobre OpenMP. Como soy una computadora Apple, la mayoría de los tutoriales en línea se basan en el desarrollo de programas paralelos. en el lado de Windows Se construye el entorno, o se construye el entorno de desarrollo OpenMP basado en Xcode en el lado de MacOS. Este artículo hablará sobre cómo crear un entorno de desarrollo de subprocesos múltiples en una computadora Mac. Todavía hay algunos conocimientos detallados que no entiendo completamente, y continuaré haciendo un seguimiento.
proceso:
En el artículo anterior: MacOS configura los pasos detallados del entorno C/C++ de Clion y resuelve el problema del error de terminal mac (versión completa) https://blog.csdn.net/weixin_45571585/article/details/126977413?spm=1001.2014. 3001.5502
Instalamos el complemento Brew en MacOS, configuramos correctamente el complemento brew e instalamos el compilador gcc a través del complemento brew. Brew es en realidad una herramienta de administración de paquetes basada en MacOS. Podemos instalar y desinstalar complementos muy convenientemente a través de brew. Hoy también necesitamos instalar OpenMP a través de brew.
Instale la biblioteca de terceros OMP (el primer método):
Abra la terminal e ingrese el comando:
brew Install libomp
Nota: En este punto, debemos proceder como un usuario normal y no podemos cambiar la identidad del administrador, de lo contrario, ¡fallará!
Ingrese al terminal de comando y aparecerá la siguiente interfaz:
Si aparece la terminal:
brew reinstall libomp
Esta oración significa que se ha instalado el complemento libomp.
Prueba OpenMP en el editor vim:
Ahora compilamos un programa de subprocesos múltiples en el editor vim para probar la biblioteca de terceros omp:
Paso 1 :
Abra la terminal e ingrese el comando: mkdir test para crear una carpeta llamada test en el escritorio;
Paso 2 :
Ingrese el comando: cd test para ingresar a la carpeta de prueba;
Paso 3 :
Ingrese el comando: toque ac para crear un archivo común ac;
Etapa 4 :
Ingrese el comando: vim ac Use el editor vim para editar el archivo ac y aparecerá la siguiente interfaz:
Paso 5:
Presione la tecla I para ingresar al modo "INSERTAR" e ingrese al programa de muestra:
#include<stdio.h>
#include<omp.h>
int main()
{
#pragma omp parallel
printf("Hello from thread %d,nthreads %d\n",omp_get_thread_num(),omp_get_num_threads());
return 0;
}
Paso 6:
Una vez completada la entrada, presione la tecla Esc, ingrese la tecla ":", ingrese wq, guarde y salga.
Paso 7:
Introduce el comando en la terminal:
gcc -Xpreprocessor -fopenmp -lomp a.c
Use el compilador gcc y la biblioteca de terceros de subprocesos múltiples para compilar el programa ac
En este momento, aparecen dos archivos en la carpeta de prueba, a saber, el archivo ordinario ac y el compilado a.out, como se muestra en la figura:
Ingrese el comando ./ac para ejecutar el programa de subprocesos múltiples, como se muestra en la figura:
Los números de programa de subprocesos que generan Hello son 0, 3, 4, 6, 1, 5, 2 y 7, y el número total de subprocesos es 8.
El programa paralelo de subprocesos múltiples se ejecuta correctamente, se instala la biblioteca de terceros omp y se crea el entorno OpenMP.
Instale el marco llvm (segundo método):
Al mismo tiempo, también podemos instalar directamente el marco llvm a través de brew. El marco llvm en sí contiene la API de OpenMP. Ingrese el comando:
brew Install llvm libomp
Ingrese el comando y aparecerá la siguiente interfaz:
Como se muestra en la figura, el terminal informa el primer error:
problema radica en:
Error: No such file or directory @ rb_sysopen -
[email protected]_2.monterey.bottle.tar.gz
No entre en pánico en este momento, el error indica que nuestro sistema carece de un paquete de dependencia independiente:
Ingresamos el comando:
brew install [email protected]
Como se muestra en la figura, se han instalado los paquetes dependientes independientes.
Luego volvemos a ingresar el comando:
brew Install llvm libomp
Como se muestra en la figura, se ha instalado el marco llvm.
Escribamos otro programa paralelo de subprocesos múltiples para probar:
El programa de subprocesos múltiples se está ejecutando y el entorno OpenMP se ha creado correctamente.
Referencias:
Mac resuelve el error: No existe tal archivo o directorio @ rb_sysopen_kissludo's Blog-CSDN Blog
Timothy G. Mattson He Yun Alice E. Conesy- OpenMP Core Technology Guide- Mechanical Industry Press