Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.
Si tiene un procesador multinúcleo, es posible que vea la aceleración mediante el procesamiento en paralelo. Puede establecer un grupo paralelo de varios trabajadores con una licencia.Parallel Computing Toolbox™ Para obtener una descripción del software, consulte.Parallel Computing ToolboxGet Started with Parallel Computing Toolbox (Parallel Computing Toolbox)
Supongamos que tiene un procesador de doble núcleo y desea utilizar la computación paralela:
Escriba en la línea de comando. inicia un grupo de trabajadores que utilizan el procesador multinúcleo.
parpool
parpool('local')
Nota
Dependiendo de sus preferencias, puede iniciar un grupo paralelo automáticamente.MATLAB Para habilitar esta función, consulte.Automatically create a parallel poolHome > Parallel > Parallel Preferences
Para el uso de la línea de comandos, escriba
options = optimoptions('solvername','UseParallel',true);
Para la aplicación de optimización, compruebe.Options > Approximated derivatives > Evaluate in parallel
Cuando ejecuta un solucionador aplicable con, los solucionadores aplicables utilizan automáticamente la computación paralela.Opciones
Para dejar de calcular las optimizaciones en paralelo, establecer o establecer la aplicación de optimización para que no se calcule en paralelo.UseParallel
false
Para detener todos los cálculos paralelos, escriba
delete(gcp)
Si tiene varios procesadores en una red, utilice funciones yParallel Computing Toolbox MATLABParallel Server™ software para establecer computación paralela. Estos son los pasos a seguir:
Asegúrese de que su sistema esté configurado correctamente para la computación paralela. Consulte con el administrador de sistemas o consulte la documentación.Parallel Computing Toolbox
Para realizar una comprobación básica:
En la línea de comandos, escriba dónde se encuentra el perfil del clúster.
parpool(prof)
prof
Los trabajadores deben poder acceder al archivo de función objetivo y, si procede, al archivo de función de restricción no lineal. Hay dos formas de garantizar el acceso:
Distribuya los archivos a los trabajadores mediante el argumento.parpool
(Parallel Computing Toolbox)AttachedFiles
Por ejemplo, si es el archivo de función objetiva y es el archivo de función de restricción no lineal, escribaobjfun.m
constrfun.m
parpool('AttachedFiles',{'objfun.m','constrfun.m'});
Los trabajadores acceden a sus propias copias de los archivos.
Dar una ruta de archivo de red a sus archivos. Si network_file_path
es la ruta de acceso de red a los archivos de función objetivo o restricción, introduzca
pctRunOnAll('addpath network_file_path')
Los trabajadores acceden a los archivos de función a través de la red.
Compruebe si un archivo está en la ruta de acceso de cada trabajador introduciendo
pctRunOnAll('which filename')
filename not found.
Para el uso de la línea de comandos, escriba
options = optimoptions('solvername','UseParallel',true);
donde representa uno de los solucionadores no lineales que admiten la evaluación paralela.'solvername'
Para la aplicación de optimización, compruebe.Options > Approximated derivatives > Evaluate in parallel
Después de establecer el entorno de computación paralela, los solucionadores aplicables utilizan automáticamente la computación paralela cuando se les llama.Opciones
Para dejar de calcular las optimizaciones en paralelo, establecer o establecer la aplicación de optimización para que no se calcule en paralelo.UseParallel
false
Para detener todos los cálculos paralelos, escriba
delete(gcp)
Si implementa código que llama a un solucionador de optimización y desea que el solucionador use la computación paralela, asegúrese de crear explícitamente un grupo paralelo en el código. De lo contrario, el código implementado puede fallar en ejecutarse en paralelo y, por lo tanto, ejecutar solo en serie, porque MATLABCompiler™Análisis de dependencia del mismo puede fallar para que la funcionalidad paralela esté disponible. Por ejemplo, llame explícitamente, además de establecer la opción del solucionador en.parpool
(Parallel Computing Toolbox)UseParallel
true
Para probar ver si un problema se ejecuta correctamente en paralelo,
Pruebe su problema sin computación paralela para asegurarse de que se ejecuta correctamente en serie. Asegúrese de que esto es exitoso (da resultados correctos) antes de ir a la siguiente prueba.
Establecer en y asegúrese de que no hay ningún grupo paralelo utilizando.UseParallel
true
delete(gcp)
Desmarque en así que no crea un pool paralelo.Automatically create a parallel poolHome > Parallel > Parallel PreferencesMATLAB El problema se ejecuta en serie, con iteraciones de bucle en orden inverso desde un bucle.parfor
for
Asegúrese de que esto es exitoso (da resultados correctos) antes de ir a la siguiente prueba.
Establecer en y crear un grupo paralelo mediante.UseParallel
true
parpool
A menos que tenga un procesador multinúcleo o una red configurada, no verá ningún aumento de velocidad. Esta prueba es simplemente verificar la corrección de los cálculos.
Recuerde llamar al solucionador mediante un argumento Options para probar o utilizar la funcionalidad paralela.