Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Describe las directivas de ejecución para algoritmos paralelos.
Sintaxis
namespace std {
template<class T> inline constexpr bool is_execution_policy_v = is_execution_policy<T>::value;
}
namespace std::execution {
inline constexpr sequenced_policy seq { unspecified };
inline constexpr parallel_policy par { unspecified };
inline constexpr parallel_unsequenced_policy par_unseq { unspecified };
}
Clases y estructuras
| Nombre | Descripción |
|---|---|
is_execution_policy (Estructura) |
Detecta las directivas de ejecución para excluir determinadas signaturas de función de la participación ambigua de resolución de sobrecargas. |
Clase parallel_policy |
Se usa para desambiguar la sobrecarga de algoritmos paralelos. Indica que la ejecución de un algoritmo paralelo se puede paralelizar. |
Clase parallel_unsequenced_policy |
Se usa como un tipo único para eliminar la ambigüedad de la sobrecarga del algoritmo paralelo. Indica que la ejecución de un algoritmo paralelo se puede paralelizar y vectorizar. |
Clase sequenced_policy |
Se usa como un tipo único para eliminar la ambigüedad de la sobrecarga del algoritmo paralelo. Especifica que la ejecución de un algoritmo paralelo no se puede paralelizar. |
Específico de Microsoft
Los algoritmos paralelos se ejecutan en un número no especificado de subprocesos y dividen el trabajo en un número no especificado de particiones de datos "fragmentos". El grupo de subprocesos de Windows administra el número de subprocesos. La implementación intenta usar los procesadores lógicos disponibles, que corresponde al número de subprocesos de hardware que se pueden ejecutar simultáneamente.
Especificar parallel_policy o parallel_unsequenced_policy hace que los algoritmos de biblioteca estándar se ejecuten en paralelo mediante el grupo de subprocesos de Windows. El número de subprocesos simultáneos y, por tanto, el número de "fragmentos" para la creación de particiones de datos se limita a 500 subprocesos porque es el número predeterminado de subprocesos del grupo de subprocesos. Para obtener más información, consulte Grupos de subprocesos.
Antes de Windows 11 y Windows Server 2022, las aplicaciones estaban limitadas de forma predeterminada a un único grupo de procesadores que tenía como máximo 64 procesadores lógicos. Esto limita el número de subprocesos que se ejecutan simultáneamente a 64. Para obtener más información, consulte Grupos de procesadores.
A partir de Windows 11 y Windows Server 2022, los procesos y sus subprocesos tienen afinidades de procesador que, de forma predeterminada, abarcan todos los procesadores del sistema y en varios grupos de máquinas con más de 64 procesadores. El límite del número de subprocesos simultáneos es ahora el número total de procesadores lógicos del sistema.
Requisitos
Encabezado: <execution>
Espacio de nombres: std
Consulte también
Referencia de archivos de encabezado
Seguridad para subprocesos en la biblioteca estándar de C++
Referencia de la biblioteca estándar de C++