Программирование на Intel Cilk Plus

Заказать решение
Количество вопросов 232

Являются ли цикловые зависимости препятствием к распараллеливанию цикла?

перейти к ответу ->>

Должны ли быть определены аргументы порождённой функции в родительском коде до момента порождения потомка?

перейти к ответу ->>

Intel® Cilk™ Plus поддерживается компиляторами Portland Group.

перейти к ответу ->>

Каким будет действие функции __cilkrts_get_nworkers, вызов которой размещён после оператора cilk_spawn?

перейти к ответу ->>

В каком случае уменьшение "зернистости" распараллеливания цикла приводит к улучшению производительности Cilk-программы?

перейти к ответу ->>

Что такое reducer_list_prepend?

перейти к ответу ->>

Какой редуктор соответствует операции логического И?

перейти к ответу ->>

Intel® Cilk™ Plus поддерживается компиляторами Intel версий 10.0 и 11.0.

перейти к ответу ->>

Что означает запись b[1:3:4]?

перейти к ответу ->>

Сколько изображений переменной, описанной как гиперобъект, будет использоваться в программе, исполняющейся в 5 потоках?

перейти к ответу ->>

Для чего предназначена функция __cilkrts_get_total_workers()?

перейти к ответу ->>

Какое условие должно выполняться при использовании сечения массива в качестве аргумента функции?

перейти к ответу ->>

В какой момент объединяются изображения переменных?

перейти к ответу ->>

Допускается ли использование выражений с индексной нотацией в элементных функциях?

перейти к ответу ->>

Как происходит распределение итераций цикла на каждом уровне рекурсии при использовании cilk_sync?

перейти к ответу ->>

"Гонок за данными" можно избежать, используя:

перейти к ответу ->>

Правильно ли запрограммировано вычисление скалярного произведения двух векторов в выражении a[12:12]*b[1:12]?

перейти к ответу ->>

Как ведёт себя редуктор, если не происходит захвата работы?

перейти к ответу ->>

Является ли правильным следующий оператор: a[1:s] = a[0:s] + 1;?

перейти к ответу ->>

Может ли переменная быть описана как редуктор относительно операции объединения списков?

перейти к ответу ->>

Имеется следующий код:
cilk::reducer_opadd<int> sum(3);void f(){cilk_spawn g(); sum += 2; cilk_sync;}void g(){sum++;}             

Каким будет результат вычисления suS, если в процессе выполнения произошёл захват работы?

перейти к ответу ->>

Каким будет результат, если задать отрицательное значение "зернистость" распараллеливания цикла?

перейти к ответу ->>

Третий элемент в расширенной векторной нотации <1>:<2>[:<3>] это:

перейти к ответу ->>

Принадлежит ли элемент a[15] сечению массива a[11:4:3]?

перейти к ответу ->>

Для чего предназначена прагма grainsize?

перейти к ответу ->>

Допустима ли следующая форма распараллеливания цикла: cilk_for (unsigned int i = 0; i != i; i += 0);?

перейти к ответу ->>

Корректен ли оператор c[2:10:2] = a[1:10] - b[14:10:11]?

перейти к ответу ->>

Может ли гонка за данными не влиять на результат работы программы?

перейти к ответу ->>

Какой код генерируется при компиляции кода с вызовом элементных функций?

перейти к ответу ->>

Допускается ли использование оператора break в цикле cilk_for?

перейти к ответу ->>

Какие из нижеперечисленных являются ключевыми словами Intel® Cilk™ Plus?

перейти к ответу ->>

Является ли cilk_init допустимым ключевым словом Intel® Cilk™ Plus?

перейти к ответу ->>

Является ли cilk_for допустимым ключевым словом Intel® Cilk™ Plus?

перейти к ответу ->>

Прагма SIMD используется в Intel® Cilk™ Plus для:

перейти к ответу ->>

Поддерживает ли Intel® Cilk™ Plus компилятор ifort?

перейти к ответу ->>

Что такое "точка синхронизации"?

перейти к ответу ->>

Какой из вариантов распараллеливания допускается в Intel® Cilk™ Plus?

перейти к ответу ->>

Для того, чтобы обозначить точку порождения в Cilk-программе, необходимо:

перейти к ответу ->>

Для того, чтобы обозначить точку синхронизации в Cilk-программе, необходимо:

перейти к ответу ->>

Что выполняет балансировку Cilk-программы?

перейти к ответу ->>

Как в Linux (bash) задать количество исполнителей?

перейти к ответу ->>

Есть два фрагмента кода: 1) cilk_spawn f(); cilk_spawn g(); cilk_sync; 2) cilk_spawn f(); g(); cilk_sync; Какой из них является предпочтительным с точки зрения стиля и эффективности?

перейти к ответу ->>

Intel® Cilk™ Plus одновременно поддерживает векторный параллелизм и параллелизм типа fork-join.

перейти к ответу ->>

В чём различие между Cilk™ Plus и Cilk™?

перейти к ответу ->>

Имеется следующий фрагмент кода:
cilk_init();cilk_spawn f()…cilk_sync        

В чём состоит ошибка программиста?

перейти к ответу ->>

Допустимо ли следующее выражение в Cilk-программе: var = cilk_spawn (object.*pointer)(args);?

перейти к ответу ->>

Распространяется ли действие cilk_sync на все порождённые функции?

перейти к ответу ->>

Допустима ли следующая форма распараллеливания цикла: cilk_for (unsigned int i, j = 42; j < 1; i++, j++)?

перейти к ответу ->>

Допускается ли использование оператора return в цикле cilk_for?

перейти к ответу ->>

Что определяет величина grainsize в параллельных циклах cilk_for?

перейти к ответу ->>

Как можно задать "зернистость" распараллеливания цикла, равную единице?

перейти к ответу ->>

Как следует изменить "зернистость" распараллеливания цикла, если его итерации равномерно малы по объёму вычислительной работы?

перейти к ответу ->>

Гонки за данными возникают при:

перейти к ответу ->>

Может ли влиять на наличие "гонок за данными" уровень оптимизации?

перейти к ответу ->>

Что такое cilk::reducer?

перейти к ответу ->>

Что такое reducer_list_append?

перейти к ответу ->>

Что такое reducer_min_index?

перейти к ответу ->>

Что такое reducer_opadd?

перейти к ответу ->>

Имеется следующий код:
cilk::reducer_opadd<int> sum(3);void f(){cilk_spawn g(); sum += 2; cilk_sync;}void g(){sum++;}                

Каким будет результат вычисления suS, если в процессе выполнения не произошло захвата работы?

перейти к ответу ->>

Редукторы можно использовать только в циклах.

перейти к ответу ->>

Переменная называется локальной, если:

перейти к ответу ->>

Может ли переменная быть описана как редуктор относительно операции возведения в степень?

перейти к ответу ->>

Допустимо ли в программе на C++ использование оператора cilk::reducer_min_index<size_t, T> r;?

перейти к ответу ->>

Имеется код
cilk::reducer_opadd<float> sum;void f( int m ) {    sum += m;}float g() {    cilk_spawn f(1);    f(2);    cilk_sync;    return xxx;}        

Что следует подставить вместо xxx?

перейти к ответу ->>

Является ли cilk::reducer гиперобъектом?

перейти к ответу ->>

Является ли cilk::private гиперобъектом?

перейти к ответу ->>

Допускается ли в Intel® Cilk™ Plus определение пользовательских гиперобъектов?

перейти к ответу ->>

Какой редуктор соответствует операции логического исключающего ИЛИ?

перейти к ответу ->>

Почему использование расширенной индексной нотации в Intel® Cilk™ Plus при работе с массивами позволяет увеличить производительность программы?

перейти к ответу ->>

Что означает запись b[:]?

перейти к ответу ->>

Правильным ли является оператор присваивания c[1:5] = d[2:15]?

перейти к ответу ->>

Правильным ли является оператор присваивания c[:] = d[:][:]?

перейти к ответу ->>

Какое действие выполняется в следующем выражении a[:]*b[:]?

перейти к ответу ->>

Каким будет результат вычисления следующего выражения a[:][:] + b[0][1]?

перейти к ответу ->>

Является ли правильным следующий оператор: c[0:s] = a[b[:]];?

перейти к ответу ->>

Какое действие выполняет функция __sec_rotate?

перейти к ответу ->>

Какая структура данных чаще всего встречается в вычислительных приложениях?

перейти к ответу ->>

Корректен ли оператор c[2:10:2] = a[1:10] - b[14:11:10]?

перейти к ответу ->>

Могут ли перечисленные операции применяться к сечениям массивов: %, <,==,!=,>?

перейти к ответу ->>

Могут ли перечисленные операции применяться к сечениям массивов: |,&,,&&?

перейти к ответу ->>

Как выполняются операции с разными элементами в выражении a[:] * b[:]?

перейти к ответу ->>

Имеется следующий фрагмент программы:
if(a[0:n] < b[0:n])     c[0:n] = 0;else    c[0:n] = 1;        

перейти к ответу ->>

Правильно ли запрограммировано вычисление скалярного произведения двух векторов в выражении a[12:12]*b[12:15]?

перейти к ответу ->>

Элементные функции - это функции, которые:

перейти к ответу ->>

Каким будет результат вычисления следующего выражения a[:] = pow(c, b[:]);?

перейти к ответу ->>

Допускается ли использование прагм OpenMP в элементных функциях?

перейти к ответу ->>

Допускается ли использование 64 битовых переменных с плавающей точкой в элементных

перейти к ответу ->>

Допускается ли использование указателей в элементных функциях?

перейти к ответу ->>

Что является результатом операции редукции?

перейти к ответу ->>

Какое действие выполняет функция __sec_reduce(f, a[:])?

перейти к ответу ->>

В каком режиме выполняется программа на Cilk, если нет свободных рабочих потоков?

перейти к ответу ->>

Выберите 3 способа векторизации кода в Cilk-программах.

перейти к ответу ->>

Для чего используется оператор linear в прагме #pragma simd linear(x,y) reduction(+:sum)?

перейти к ответу ->>

Может ли пользователь явно управлять балансировкой загрузки в Cilk-программе?

перейти к ответу ->>

Имеются ли в Intel® Cilk™ Plus собственные таймеры?

перейти к ответу ->>

Для чего предназначена функция __cilkrts_set_param()?

перейти к ответу ->>

Какой заголовочный файл следует использовать в случае использования в программе функций прикладного программного интерфейса Cilk?

перейти к ответу ->>

Какое значение возвращает вызов __cilkrts_get_nworkers при выполнении Cilk-программы в последовательном режиме?

перейти к ответу ->>

Какие из нижеперечисленных являются ключевыми словами Intel® Cilk™ Plus?

перейти к ответу ->>

Что означает запись b[1:3][0:2]?

перейти к ответу ->>

ЯДопускается ли использование указателей на функции в элементных функциях?

перейти к ответу ->>

Что обозначает символ :, используемый самостоятельно (без указания длины и шага) в расширенной индексной нотации?

перейти к ответу ->>

Допускается ли использование 32 битовых переменных с плавающей точкой в элементных функциях?

перейти к ответу ->>

Допустима ли следующая форма распараллеливания цикла: int i; cilk_for (i = 0; i < 100; i++);?

перейти к ответу ->>

Может ли элементная функция возвращать сечение массива?

перейти к ответу ->>

Из каких логических частей состоит пользовательский редуктор?

перейти к ответу ->>

Можно ли использовать сечение массива в качестве аргумента функции?

перейти к ответу ->>

Выполняется ли в конце параллельного цикла барьерная синхронизация?

перейти к ответу ->>

Имеется следующий код:
b[0] = 0; b[1] = 3.14159; с[3:1] = sin(b[:]);        

Каким будет результат вычисления c?

перейти к ответу ->>

В программе для многоядерной архитектуры имеется потенциальная опасность гонок за данными. Какие средства Intel® Cilk™ Plus Вы будете использовать для того, чтобы избежать гонок за данными?

перейти к ответу ->>

Что произойдёт при обработке программы с прагмой #pragma simd компилятором, не поддерживающим Intel® Cilk™ Plus?

перейти к ответу ->>

Сохраняют ли гиперобъекты последовательную семантику программы?

перейти к ответу ->>

Что такое reducer_ostream?

перейти к ответу ->>

Имеется код
cilk::reducer_opadd<double> result(0);        cilk_for(int i=0; i<data.GetSize(); i++)            result += operation(data[i]);        return xxx;        

Что следует подставить вместо xxx?

перейти к ответу ->>

Принадлежит ли элемент b[35] сечению массива b[9:16]?

перейти к ответу ->>

Какая функция в Cilk-программе называется "порождающей"?

перейти к ответу ->>

Какой редуктор используется при работе с параллельными потоками?

перейти к ответу ->>

Что такое reducer_max_index?

перейти к ответу ->>

Является ли cilk_send допустимым ключевым словом Intel® Cilk™ Plus?

перейти к ответу ->>

Что такое "точка порождения"?

перейти к ответу ->>

Являются ли переходы из тела цикла препятствием к распараллеливанию цикла?

перейти к ответу ->>

Чему по умолчанию равно количество исполнителей в Cilk-программе?

перейти к ответу ->>

Допускается ли использование оператора goto в цикле cilk_for?

перейти к ответу ->>

Как задаётся "зернистость" распараллеливания цикла по умолчанию?

перейти к ответу ->>

"Параллельные" глобальные переменные, позволяющие избежать гонок за данными в Intel® Cilk™ Plus это:

перейти к ответу ->>

Может ли влиять на наличие "гонок за данными" размер машинного слова?

перейти к ответу ->>

Относительно какого типа операций задаются редукторы?

перейти к ответу ->>

При использовании редукторов каждый поток имеет доступ к единственному общему экземпляру переменной.

перейти к ответу ->>

Возникает ли гонка за данными, если два потока выполняют чтение из общей переменной?

перейти к ответу ->>

Какую функцию можно использовать для вычисления суммы всех элементов массива?

перейти к ответу ->>

В Cilk-программе необходимо выполнить конкатенацию списков. Какой гиперобъект следует для этого использовать?

перейти к ответу ->>

Какой редуктор соответствует операции конкатенации строк?

перейти к ответу ->>

Что означает запись b[13:57]?

перейти к ответу ->>

Что означает запись b[:][5]?

перейти к ответу ->>

Правильным ли является оператор присваивания c[1:5] = d[1:5]?

перейти к ответу ->>

Правильным ли является оператор присваивания c[1:5] = d[5:5]?

перейти к ответу ->>

Какое действие выполняется в следующем выражении a[3:2][3:2] + b[5:2][5:2]?

перейти к ответу ->>

Какое действие выполняет функция __sec_shift?

перейти к ответу ->>

Что означает запись a[17:3:2]?

перейти к ответу ->>

Могут ли перечисленные операции применяться к сечениям массивов: *=, /=?

перейти к ответу ->>

Правильно ли запрограммировано умножение двух матриц в выражении a[:][:]*b[:][:]?

перейти к ответу ->>

Правильно ли запрограммировано вычисление скалярного произведения двух векторов в выражении a[:]*b[:]?

перейти к ответу ->>

Правильно ли задано сечение массива: [12:10]?

перейти к ответу ->>

Что такое "элементная функция"?

перейти к ответу ->>

Каким будет результат вычисления следующего выражения a[:] = pow(b[:], c);?

перейти к ответу ->>

Допускается ли использование операторов выбора в элементных функциях?

перейти к ответу ->>

Допускается ли использование многопоточности OpenMP в элементных функциях?

перейти к ответу ->>

Какое действие выполняет функция __sec_reduce_add(a[:])?

перейти к ответу ->>

Должен ли программист явным образом задавать способ диспетчеризации параллельной Cilk-программы?

перейти к ответу ->>

Для чего используется оператор reduction в прагме #pragma simd linear(x,y) reduction(+:sum)?

перейти к ответу ->>

Какие средства Intel® Cilk™ Plus Вы будете использовать для того, чтобы использовать возможности векторной архитектуры?

перейти к ответу ->>

Для чего предназначена функция __cilkrts_get_worker_number()?

перейти к ответу ->>

Можно ли изменить число исполнителей после вызова функции __cilkrts_get_nworkers?

перейти к ответу ->>

Директива SIMD - это:

перейти к ответу ->>

Какое действие выполняет следующий оператор: vx[i:m][j:n] += a*(U[i:m][j+1:n]-U[i:m][j:n]);?

перейти к ответу ->>

Являются ли переходы в тело цикла препятствием к распараллеливанию цикла?

перейти к ответу ->>

Могут ли перечисленные операции применяться к сечениям массивов: ++,--, +=, -=?

перейти к ответу ->>

Может ли произойти возврат из функции, вызванной в одном потоке, в другом потоке?

перейти к ответу ->>

Какие из нижеперечисленных являются ключевыми словами Intel® Cilk™ Plus?

перейти к ответу ->>

Переменная называется глобальной, если

перейти к ответу ->>

Что такое reducer_min?

перейти к ответу ->>

Какие из нижеперечисленных являются ключевыми словами Intel® Cilk™ Plus?

перейти к ответу ->>

Правильным ли является оператор присваивания c[:] = d[:]?

перейти к ответу ->>

Как влияет на производительность большое количество редукторов?

перейти к ответу ->>

Необходимо ли при использовании редукторов применять блокировки?

перейти к ответу ->>

В Cilk-программе необходимо использовать циклический сдвиг элементов массива. Какую функцию можно использовать для выполнения такого сдвига?

перейти к ответу ->>

Какие операции являются операциями редукции?

перейти к ответу ->>

В Cilk-программе для одномерного массива значений необходимо сформировать одномерный массив синусов. Как это сделать?

перейти к ответу ->>

Является ли cilk_spawn допустимым ключевым словом Intel® Cilk™ Plus?

перейти к ответу ->>

Назначение переменной окружения CILK_NWORKERS:

перейти к ответу ->>

Как выполняется Cilk-программа, если нет свободных рабочих потоков?

перейти к ответу ->>

В программе имеются операторы cilk_spawn g() и cilk_sync. Как будет выполняться фрагмент программы между этими операторами?

перейти к ответу ->>

Как в командной строке Windows задать количество исполнителей?

перейти к ответу ->>

Intel® Cilk™ Plus входит в состав среды разработки Delphi.

перейти к ответу ->>

В Cilk-программе имеется следующий код: cilk_sync; … cilk_spawn g();. В чём заключается ошибка?

перейти к ответу ->>

Допустимо ли следующее выражение в Cilk-программе: cilk_spawn [&]{ g(f()); }();?

перейти к ответу ->>

Допустима ли следующая форма распараллеливания цикла: cilk_for (unsigned int i = 1; i < 16; ++i) i = f();?

перейти к ответу ->>

В чём заключается отрицательный эффект "гонок за данными"?

перейти к ответу ->>

Что такое reducer_max?

перейти к ответу ->>

Какой редуктор соответствует операции логического ИЛИ?

перейти к ответу ->>

Является ли правильным следующее выражение a[0:4][1:2] + b[1:2]?

перейти к ответу ->>

Является ли правильным следующий оператор: a[:] = c;?

перейти к ответу ->>

Могут ли перечисленные операции применяться к сечениям массивов: +, -, *, /?

перейти к ответу ->>

Какие операции машинного уровня генерирует компилятор для выражений вида a[b[0:s]] = c[:] и c[0:s] = a[b[:]]?

перейти к ответу ->>

Что можно использовать в левой части оператора присваивания x = sin(b[:]);?

перейти к ответу ->>

Допускается ли использование многопоточности Cilk в элементных функциях?

перейти к ответу ->>

Допускается ли использование циклов for в элементных функциях?

перейти к ответу ->>

Какие средства Intel® Cilk™ Вы будете использовать для того, чтобы использовать возможности векторной архитектуры?

перейти к ответу ->>

Можно ли использовать прагму #pragma simd в цикле с условным оператором (if)?

перейти к ответу ->>

Какой заголовочный файл необходимо использовать в программе на C++, если в ней используется оператор cilk::reducer_min_index<size_t, T> r;?

перейти к ответу ->>

Допустимо ли следующее выражение в Cilk-программе: cilk_spawn g(f());?

перейти к ответу ->>

Что такое редуктор?

перейти к ответу ->>

Как влияет на величину накладных расходов маленькое значение grainsize?

перейти к ответу ->>

Является ли cilk_start допустимым ключевым словом Intel® Cilk™ Plus?

перейти к ответу ->>

Intel® Cilk™ Plus поддерживает только параллелизм типа fork-join.

перейти к ответу ->>

В чём различие конструкций cilk_spawn [&]{ g(f()); }(); и cilk_spawn g(f());?

перейти к ответу ->>

В программе имеется оператор cilk_spawn g(). Как будет выполняться функция g()?

перейти к ответу ->>

Какое действие выполняет get_value() в редукторе?

перейти к ответу ->>

Необходимо ли при использовании редукторов применять мьютексы?

перейти к ответу ->>

Для чего предназначена утилита cilkscreen?

перейти к ответу ->>

Является ли правильным следующий оператор: a[b[0:s]] = c[:];?

перейти к ответу ->>

Какое ключевое слово в Intel® Cilk™ Plus используется для распараллеливания цикла

перейти к ответу ->>

Как влияет на величину накладных расходов большое значение grainsize?

перейти к ответу ->>

Что такое "изображение" переменной?

перейти к ответу ->>

Имеется код
cilk::reducer_opadd<float> sum = 0;...cilk_for( size_t i=1; i<n; ++i )     sum += f(i);... = sum.get_value();           

Что произойдёт с переменной sum после порождения новых потоков?

перейти к ответу ->>

Допускается ли использование ассемблерных вставок в элементных функциях?

перейти к ответу ->>

Что является аргументом операции редукции?

перейти к ответу ->>

Идентификаторы исполнителей непрерывно заполняют определённый диапазон значений. Верно ли это утверждение?

перейти к ответу ->>

Что будет происходить, если "зернистость" распараллеливания цикла в Cilk-программе задана следующим образом: #pragma cilk grainsize = n/(4*__cilkrts_get_nworkers())?

перейти к ответу ->>

В каком случае в Cilk-программе используется заголовочный файл cilk_api.h?

перейти к ответу ->>

Каким будет результат, если задать "зернистость" распараллеливания цикла равной нулю?

перейти к ответу ->>

В каком случае при диспетчеризации задач Cilk происходит захват работы?

перейти к ответу ->>

Intel® Cilk™ Plus поддерживает только векторный параллелизм.

перейти к ответу ->>

Допустимо ли следующее выражение в Cilk-программе: g(cilk_spawn f());?

перейти к ответу ->>

Допустима ли следующая форма распараллеливания цикла: cilk_for (unsigned int i = 1; i < x; ++i) x = f();?

перейти к ответу ->>

Что такое reducer_basic_string?

перейти к ответу ->>

Какой заголовочный файл необходимо использовать в программе на C++, если в ней используется оператор cilk::reducer_opadd<double> result(0);?

перейти к ответу ->>

Можно ли избавиться от гонки за данными изменением алгоритма вычислений?

перейти к ответу ->>

Второй элемент в расширенной векторной нотации <1>:<2>[:<3>] это:

перейти к ответу ->>

Является ли правильным следующее выражение a[:][:] + b[0][1]?

перейти к ответу ->>

Какие операции являются операциями редукции?

перейти к ответу ->>

Допускаются ли вложенные (рекурсивные) ветвления в Intel® Cilk™ Plus?

перейти к ответу ->>

Совпадает ли синтаксис расширенной индексной нотации Intel® Cilk™ Plus и индексной нотации Fortran 90?

перейти к ответу ->>

Допускается ли использование 32 битовых переменных типа signed int в элементных функциях?

перейти к ответу ->>

Имеются ли в Intel® Cilk™ Plus средства обмена сообщениями между процессами?

перейти к ответу ->>

Intel® Cilk™ Plus является библиотекой, имеющей интерфейсы к языкам программирования Fortran. C/C++, Java?

перейти к ответу ->>

Является ли cilk_sync допустимым ключевым словом Intel® Cilk™ Plus?

перейти к ответу ->>

Первый элемент в расширенной векторной нотации <1>:<2>[:<3>] это:

перейти к ответу ->>

Какие инструкции порождает компилятор при компиляции кода с использованием векторной нотации?

перейти к ответу ->>

Поддерживает ли Intel® Cilk™ Plus компилятор icc?

перейти к ответу ->>

Для чего предназначена функция __cilkrts_get_nworkers()?

перейти к ответу ->>

Поддерживает ли Intel® Cilk™ Plus компилятор GCC?

перейти к ответу ->>