рд╕рд╛рдЗрдХрд┐рд▓ рдЕрдиреБрдХреВрд▓рди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп

рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдЪрдХреНрд░реЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ: рдпрд╣ рдЧрдгрдирд╛, рд╕реВрдЪрдирд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЖрджрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдЗрдХрд┐рд▓ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╣реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЧрддрд┐ рдмрдврд╝ рдЬрд╛рдПрдЧреАред рд▓реЗрдХрд┐рди рдЕрдиреБрдХреВрд▓рди рдкрд░ рд▓рдЧрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдбреНрд░реЙрдк рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЪрдХреНрд░ рдореЗрдВ рдХреЛрдб рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдореЗрдореЛрд░реА рд╕рдВрдЧрдарди, рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рд╕реЗрдЯ, рдкрд╛рдЗрдкрд▓рд╛рдЗрди, рдХреИрд╢ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд╛ рдЕрдиреБрднрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИред
рд▓реВрдк рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: рд▓реВрдк рдЕрдирд░реЛрд▓рд┐рдВрдЧ, рд▓реВрдк рдлреНрдпреВрдЬрди, рд▓реВрдк рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди, рд▓реВрдк рдЕрд▓рд╛рдЗрдирдореЗрдВрдЯ, рд▓реВрдк рдЗрдВрдЯрд░рдЪреЗрдВрдЬ, рд▓реВрдк рдмреНрд▓реЙрдХрд┐рдВрдЧред
рдХрд┐рд╕реА рднреА рдЕрдиреБрдХреВрд▓рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХрд╛рдо рдХрд░реЗрдВ: рд▓реВрдк рд╕реЗ рдЙрди рд╕рднреА рдЪрд░ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдЬреЛ рдЗрд╕рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ ред

рдХрд┐рди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЪрдХреНрд░ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЧрддрд┐ рдореЗрдВ рдХрдореА рд╣реЛ рд╕рдХрддреА рд╣реИ?
  1. рд▓реВрдк рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдирд┐рд░реНрднрд░ рд╣реИрдВ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  2. рд▓реВрдк рдХрд╛ рд╢рд░реАрд░ рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  3. рд▓реВрдк рдХрд╛ рд╢рд░реАрд░ рдпрд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реВрдк рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреА рдФрд░ рдЕрдзрд┐рдХ рд▓рд╛рднрджрд╛рдпрдХ рд╣реИред
  4. рд▓реВрдк рдореЗрдВ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  5. рдЪрдХреНрд░ рдЧрд╣рди рд░реВрдк рд╕реЗ рдХреБрдЫ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд╖реНрдкрд╛рджрди рдЗрдХрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
  6. рд▓реВрдк рдореЗрдВ рд╕рд╢рд░реНрдд рд╕рдВрдХреНрд░рдордг рд╣реЛрддреЗ рд╣реИрдВред
рд╕реНрд╡реАрдк рд╕рд╛рдЗрдХрд┐рд▓

рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЪрдХреНрд░ рдХрд╛ рд╢рд░реАрд░ рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╡реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЪрдХреНрд░ рдХреЗ рд╢рд░реАрд░ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрдХреВрд▓рди рд╕реЗ рдбреЗрдЯрд╛ рдирд┐рд░реНрднрд░рддрд╛ рдкреИрджрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░ рдкреЗрд╢ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдХреЛрдХреЗ рдмрд╛рджрдирдВрдмрд░ 2 рдХреЗ рдмрд╛рдж
for ( int i = 0; i < iN; i++){
res *= a[i];
}
for ( int i = 0; i < iN; i+=3){
res *= a[i];
res *= a[i+1];
res *= a[i+2];
}
for ( int i = 0; i < iN; i+=3){
res1 *= a[i];
res2 *= a[i+1];
res3 *= a[i+2];
}
res = res1 * res2 * res3;
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ gcc рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: -funroll-all-loops -funroll-loops ред

рд╕рд╛рдЗрдХрд┐рд▓ рдПрдХреАрдХрд░рдг

рдЪрдХреНрд░ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рд░реНрджреЗрд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╡рд░реНрдЧрдореВрд▓ рдирд┐рдХрд╛рд▓рдирд╛ред рдпрд╛ рдХрдИ рд▓реВрдк рд╣реИрдВ рдЬреЛ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рд╕рдорд╛рди рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдирд┐рд╖реНрдкрд╛рджрди рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдЕрдзрд┐рдХ рд╕рдВрддреБрд▓рд┐рдд рднрд╛рд░ рдХреЗ рд▓рд┐рдП рдЪрдХреНрд░реЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред
рдХреЛрдХреЗ рдмрд╛рдж
for ( int i = 0; i < iN; i++){
a[i] = b[i] - 5;
}
for ( int i = 0; i < iN-1; i++){
d[i] = e[i] * 3;
}
for ( int i = 0; i < iN-1; i++){
a[i] = b[i] - 5;
d[i] = e[i] * 3;
}
a[iN-1] = b[iN-1] - 5;

рдЪрдХреНрд░ рдХрд╛рдЯрдирд╛

рдЗрд╕ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд▓реВрдк рдХрд╛ рд╢рд░реАрд░ рдмрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЪрд░ рдкрд░реНрдпрд╛рдкреНрдд рд░рдЬрд┐рд╕реНрдЯрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдбреЗрдЯрд╛ рдХреЛ рдкрд╣рд▓реЗ рдХреИрд╢ рдореЗрдВ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрд░рд╛рдм рд╣реИ, рддреЛ рд░реИрдо рдХреЛред рдФрд░ рд░реИрдо рддрдХ рдкрд╣реБрдВрдЪ ~ 300 рдкреНрд░реЛрд╕реЗрд╕рд░ рдЪрдХреНрд░ рд╣реИ, рдФрд░ L2 рддрдХ рдкрд╣реБрдВрдЪ рдХреЗрд╡рд▓ ~ 10 рд╣реИред рдПрдХ рдмрдбрд╝реЗ рдХрджрдо рдХреЗ рд╕рд╛рде рд╕реНрдореГрддрд┐ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддреА рд╣реИред рдпрд╣ 2 рдПрди рдХреЗ рд╡реЗрддрди рд╡реГрджреНрдзрд┐ рдореЗрдВ рд╕реНрдореГрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рдЪрд▓рдирд╛" рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рд╣реИ, рдЬрд╣рд╛рдВ рдПрди рдПрдХ рдХрд╛рдлреА рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ (<7)ред
рдХреЛрдХреЗ рдмрд╛рдж
for ( int j = 0; j < jN; j++){
for ( int k = 0; k < kN; k++){
for ( int m = 0; m < mN; m++){
i = j * k + m;
a[i] = b[i] * c[i] + f[i]/e[i]+ x[i] - y[i] +
z[i]/r[i] + d[i] * x[i];
}
}
}
for ( int j = 0; j < jN; j++){
for ( int k = 0; k < kN; k++){
double tmp;
for ( int m = 0; m < mN; m++){
i = j * k + m;
tmp = b[i] * c[i] + f[i]/e[i];
a[i] = tmp - y[i] + z[i]/r[i] +
(d[i] + 1) * x[i];
}
}
}

рд╕реНрд╡реИрдк рдЪрдХреНрд░

рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдкреНрд╕ рдореЗрдВ, рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдХреНрд░рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрд░реЗ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдЙрджрд╛рд╣рд░рдг: c / c ++ рд╕реНрдЯреЛрд░ рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рд▓рд╛рдЗрди рдмрд╛рдп рд▓рд╛рдЗрди, рдФрд░ рдлреЛрд░рдЯреНрд░рд╛рди - рдХреЙрд▓рдо рдореЗрдВред
рдХреЛрдХреЗ рдмрд╛рдж
for ( int i = 0; i < iN; i++){
for ( int j = 0; j < jN; j++){
for ( int k = 0; k < kN; k++){
c[i][j] = c[i][j] + a[i][k] * b[k][j];
}
}
}
for ( int i = 0; i < iN; i++){
for ( int k = 0; k < kN; k++){
for ( int j = 0; j < jN; j++){
c[i][j] = c[i][j] + a[i][k] * b[k][j];
}
}
}
рдЕрдм рд╕рд░рдгреА рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред

рдмреНрд▓реЙрдХ рдореЗрдВ рдЪрдХреНрд░реЛрдВ рдХрд╛ рд╡рд┐рднрд╛рдЬрди

рдпрджрд┐ рд▓реВрдк рдХрд╛ рд╢рд░реАрд░ рдЬрдЯрд┐рд▓ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдЕрдиреБрдХреВрд▓рди рдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдмреЗрд╣рддрд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреИрд╢ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рдирд┐рд░реНрднрд░ рд╣реИред
рдХреЛрдХреЗ рдмрд╛рдж
for ( int i = 0; i < iN; i++){
for ( int j = 0; j < jN; j++){
a[i][j] = a[i][j] + b[i][j];
}
}
//
int iBlk, jBlk;
for ( int k = 0; k < iN/iBlk; k++){
for ( int m = 0; m < jN/jBlk; m++){
for ( int i = k * iBlk; i < ((k + 1) * iBlk); i++){
for ( int j = m * jBlk; j < ((m + 1) * jBlk); j++){
a[i][j] = a[i][j] + b[i][j];
}
}
}
}
рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдордкреАрдЖрдИ рддрдХрдиреАрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИ: рдпрд╣ рдмрдбрд╝реЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рднреЗрдЬрддреА рд╣реИред

рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╕рдВрдХрд▓реНрдк

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрдкрд╛рдп рд╣реИ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ред рд▓реЗрдХрд┐рди рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
for ( int i = 1; i < N; i++){
a[i] = a[i-1] + 1;
}
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдХреИрди рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЧрдгрдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдкрд░ рд░рд╣реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрдХреНрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ (рдпрд╛ рд╕рдорд╛рдирд╛рдВрддрд░), рдкрд░рд┐рдгрд╛рдо рдЕрднреА рднреА рдЪрдХреНрд░ рдХреЗ рдкрд┐рдЫрд▓реЗ рдореЛрдбрд╝ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ред
рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдЪрдХреНрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрдХреНрд░ рдореЗрдВ рдЖрдВрджреЛрд▓рди рдХреА рджрд┐рд╢рд╛ рдХреЛ рдЙрд▓реНрдЯрд╛ рдХрд░реЗрдВред рдпрджрд┐ рдЧрдгрдирд╛рдУрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рддреЛ рд▓реВрдк рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВред

рд╕рд╢рд░реНрдд рдмрд╛рддрдЪреАрдд

рд╕рдВрдХреНрд░рдордгреЛрдВ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╕рдордп рдХрд╛ рдиреБрдХрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдХрдиреНрд╡реЗрдпрд░ рдХреЛ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рд╕рд╢рд░реНрдд рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдпрджрд┐ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╕рдВрдХреНрд░рдордг рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХрд╛рдо рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдЦрд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рдмрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рд░рдЦреЗрдВ рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рд▓реВрдк рдХреЗ рдмрд╛рд╣рд░ рд╕рд╢рд░реНрдд рд╕рдВрд░рдЪрдирд╛рдПрдВ рдирд┐рдХрд╛рд▓реЗрдВред

рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп

рдпрджрд┐ рдЖрдк рдПрдХ рдЬрдЯрд┐рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рд▓реЗрдЧрд╛, рддреЛ
  1. рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ (рдпрд╣ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрд┐рддрдиреЗ рдФрд░ рдХреМрди рд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдХрд┐рддрдиреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди, рдПрд▓ 1 рдФрд░ рдПрд▓ 2 рдХреИрд╢ рдХреЗ рдЖрдХрд╛рд░)ред
  2. рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреЗ рд╕рд╛рде рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
  3. рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рднрд╛рд╡ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рднреА рджреЗрддрд╛ рд╣реВрдВред
рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рдХреНрд╖рдо рдЙрдкрдпреЛрдЧ рд╕реЗ рдХрдИ рдмрд╛рд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЧрддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкрд╛рдИ рдирдВрдмрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
рд╕рдВрдЦреНрдпрд╛ рдкрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдиреНрди

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рдмреБрд░рд╛ рдХреЛрдб рд╣реИред
long N = 10000000;
double dx, sum, x;
sum = 0.0;
x = 0.0;
dx = 1.0 / ( double ) N;
for ( long i = 0; i < N; i++){
sum += 4.0 / (1.0 + x * x);
x += dx;
}
double pi = dx * sum;

рдореИрдВрдиреЗ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХреА: рд╕рдВрдЧрдгрдирд╛ рдХрд╛ рд╡реИрд╢реНрд╡реАрдХрд░рдг (SSE рдирд┐рд░реНрджреЗрд╢); рдкреНрд░реАрдлрд╝реИрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рд╕реНрдореГрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВред рдпрджрд┐ "рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ" рд▓реЛрдЧ рд╣реИрдВ, рддреЛ рдореИрдВ рдЪрдХреНрд░реЛрдВ рдХреЗ рд╡реИрд╢реНрд╡реАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦреВрдВрдЧрд╛ред

рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ ред

Source: https://habr.com/ru/post/In124910/


All Articles