From 5a07553d42ff1775f493a4e06f674ff189eaa2de Mon Sep 17 00:00:00 2001 From: PioDer Date: Sun, 22 Jan 2017 22:12:47 +0100 Subject: [PATCH] poprawka allreduce --- .../projekt/sha1breaker.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/DergunPiotr-WaskoDominik/projekt/sha1breaker.cpp b/DergunPiotr-WaskoDominik/projekt/sha1breaker.cpp index 6ed3a64..6885554 100644 --- a/DergunPiotr-WaskoDominik/projekt/sha1breaker.cpp +++ b/DergunPiotr-WaskoDominik/projekt/sha1breaker.cpp @@ -54,12 +54,15 @@ int main(int argc, char** argv) { str = new char[maxStrSize]; if (!rank) czasomierzacz.Begin(); - + success = 0; maxKomb = pow(lexSize,minStrSize-1); for(strSize = minStrSize;strSize<=maxStrSize;strSize++){ //petla generujaca jaka ma być długość hasła z którego bedzie generowany hash maxKomb *= lexSize; i = rank; + MPI_Allreduce(&success,&sumSuccess,1,MPI::SHORT,MPI::SUM,MPI_COMM_WORLD); + if (sumSuccess > 0) break; + while(i> (offset*j)) & mask]; @@ -68,21 +71,20 @@ int main(int argc, char** argv) { sha1((unsigned char*)str,strSize,result); //obliczanie hash z wygenerowanego wcześniej hasła if(strcasecmp(argv[1],result) == 0){ //znalazłem odpowiedz 109 - success = 0; //ustwaiem zmienna success na 0 + success = 1; + cout< 0) + break; i+=size; } } - - stop: - + if (!rank) cout<<" Czas = "<