¿Cómo puedo "paralelizar" mejor un conjunto de cuatro bucles anidados para () en un ataque de Fuerza Bruta?
Tengo la siguiente tarea de tarea:
Necesito una frase de contraseña de 4 caracteres de fuerza bruta con la siguiente máscara
%%@@
( dónde@
- es un caracter numérico,%
- es un caracter alfa)
en varios hilos usando OpenMP.
Aquí hay un fragmento de código, pero no estoy seguro de si está haciendo lo correcto:
int i, j, m, n;
const char alph[26] = "abcdefghijklmnopqrstuvwxyz";
const char num[10] = "0123456789";
#pragma omp parallel for private(pass) schedule(dynamic) collapse(4)
for (i = 0; i < 26; i++)
for (j = 0; j < 26; j++)
for (m = 0; m < 10; m++)
for (n = 0; n < 10; n++) {
pass[0] = alph[i];
pass[1] = alph[j];
pass[2] = num[m];
pass[3] = num[n];
/* Working with pass here */
}
Entonces mi pregunta es :
¿Cómo especificar correctamente la instrucción "paralelo para", para dividir el rango de frases de contraseña entre varios núcleos?
La ayuda es muy apreciada.