Главная /
Параллельное программирование с OpenMP /
Причинная модель консистентности памяти определяется следующим условием:
Причинная модель консистентности памяти определяется следующим условием:
вопросПравильный ответ:
все процессы наблюдают все обращения к ячейкам памяти в одном и том же порядке. Обращения не упорядочены по времени
все процессы наблюдают все обращения к ячейкам памяти, связанные причинно-следственной связью в одном и том же порядке
все процессы наблюдают операции записи любого процесса в порядке их выполнения. Операции записи различных процессов могут наблюдаться разными процессами в разном порядке
Сложность вопроса
93
Сложность курса: Параллельное программирование с OpenMP
28
Оценить вопрос
Комментарии:
Аноним
Кто находит данные вопросы с интуитом? Это же крайне просто
30 май 2020
Аноним
Если бы не эти решения - я бы не решил c этими тестами intuit.
30 июн 2017
Другие ответы на вопросы из темы программирование интуит.
- # Найдите ошибку в следующем фрагменте программы: #pragma omp parallel default(shared) { int i; #pragma omp for lastprivate(i) for (i=0; i<n; i++) { i+=2; work(i); } }
- # Найдите ошибку в следующем фрагменте программы: #define N 1000 int main (void){ float a[N]; #pragma omp parallel { #pragma omp for for(int i=0; i<N;i++) { float tmp; tmp= a[i]*a[i]; a[i]=1-tmp; } } }
- # Поиск ошибок в OpenMP-программе, выполняемый Sun Thread Analyzer, основан на:
- # При использовании технологии Intel Cluster OpenMP программист:
- # Найдите ошибку в следующем фрагменте MPI/OpenMP-программы, реализующей метод релаксации Якоби: int jacobi(int p, int id, int my_rows, double **u, double **w) { double diff, global_diff, tdiff; int i,j,it; MPI_Status status; it=0; #pragma omp parallel private (i,j,tdiff) { for(;;) { #pragma omp master { diff=0.0; if (id>0) MPI_Send (u[1], N, MPI_DOUBLE, id-1, 0, MPI_COMM_WORLD); if (id<p-1) { MPI_Send (u[my_rows-2], N, MPI_DOUBLE, id+1, 0, MPI_COMM_WORLD); MPI_Recv (u[my_rows-1], N, MPI_DOUBLE, id+1, 0, MPI_COMM_WORLD, &status); } if (id>0) MPI_Recv (u[0], N, MPI_DOUBLE, id-1, 0, MPI_COMM_WORLD, &status); } /*end of master*/ tdiff=0.0; #pragma omp for for (i=1; i<my_rows; i++) for (j=1; j<N-1; j++) { w[i][j]=(u[i-1][j]+u[i+1][j]+u[i][j-1]+u[i][j+1])/4.0; if (fabs(w[i][j]-u[i][j]) >tdiff) tdiff=fabs(w[i][j]-u[i][j]); } #pragma omp for nowait for (i=1; i<my_rows; i++) for (j=1; j<N-1; j++) u[i][j]=w[i][j]; #pragma omp critical if (tdiff > diff) diff=tdiff; #pragma omp barrier #pragma omp single { it++; MPI_Allreduce (&diff, &global_diff, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD); } /*end of single*/ if (global_diff <= EPSILON) break; } return it; }