Como posso "paralelizar" melhor um conjunto de quatro loops aninhados para () - em um ataque de força bruta?
Eu tenho a seguinte tarefa de lição de casa:
Preciso usar a senha de força bruta de 4 caracteres com a seguinte máscara
%%@@
( Onde@
- é um caractere numérico,%
- é um caractere alfa)
em vários threads usando o OpenMP.
Aqui está um pedaço de código, mas não tenho certeza se está fazendo a coisa certa:
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 */
}
Então minha pergunta é :
Como especificar corretamente a instrução "paralelo para", a fim de dividir o intervalo de frases secretas entre vários núcleos?
A ajuda é muito apreciada.