Вопросы с тегом 'vectorization'

Векторизация относится к парадигме программирования, где функции работают на целых массивах за один раз. Это дает преимущества в плане вызовов функций, доступа к памяти, распараллеливания и выразительности кода. Некоторые языки программирования, такие как MATLAB, оптимизированы для обеспечения максимальной производительности при векторизации.
9
ответов

Почему в отдельных циклах стигментные добавления намного быстрее, чем в комбинированном цикле?

Предположим, что a1, b1, c1 и d1 указывают на кучную память, а мой числовой код имеет следующий цикл ядра. const int n = 100000; for (int j = 0; j < n; j++) { a1[j] += b1[j]; c1[j] += d1[j]; } Этот цикл выполняется 10 000 раз через др...
задан 17 дек. '11 в 23:40
8
ответов

Разница между методами map, applymap и apply в Pandas

Можете ли вы рассказать мне, когда использовать эти методы векторизации с базовыми примерами? Я вижу, что map является методом Series тогда как остальные - методы DataFrame. Однако я запутался в методах apply и applymap. Почему у нас есть два метод...
задан 05 нояб. '13 в 23:20
3
ответов

Существует ли R-функция для нахождения индекса элемента в векторе?

В R у меня есть элемент x и вектор v. Я хочу найти первый индекс элемента в v, который равен x. Я знаю, что один из способов сделать это: which(x == v)[[1]], но это кажется чрезмерно неэффективным. Есть ли более прямой способ сделать это? Для бонус...
задан 07 апр. '11 в 10:55
4
ответов

Действительно ли семейство "* apply" не векторизовано?

Итак, мы привыкли говорить каждому новому пользователю R, что "apply не является векторизованным, посмотрите Patrick Burns R Inferno Circle 4", который гласит: (Цитирую): Общим рефлексом является использование функции в семействе apply. Это не в...
задан 11 марта '15 в 12:52
11
ответов

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

Вы можете применить функцию к каждому элементу в векторе, произнеся, например, v + 1, или вы можете использовать функцию arrayfun. Как это сделать для каждой строки/столбца матрицы без использования цикла for?
задан 21 февр. '10 в 22:58
3
ответов

Эффективная оценка функции в каждой ячейке массива NumPy

Учитывая NumPy array A, что является самым быстрым/наиболее эффективным способом применения той же функции, f, до каждой ячейки? Предположим, что мы будем назначать A (i, j) f (A (i, j)). Функция f не имеет двоичного выхода, поэтому операции ма...
задан 09 окт. '11 в 7:21
5
ответов

Что такое "векторизация"?

Несколько раз сейчас, я столкнулся с этим термином в matlab, fortran... другой... но я никогда не нашел объяснения, что это значит и что он делает? Поэтому я спрашиваю здесь, что такое векторизация, и что это значит, например, что "цикл векторизован"...
задан 14 сент. '09 в 18:07
8
ответов

Разве компиляторы JVM JIT генерируют код, который использует векторизованные инструкции с плавающей запятой?

Скажем, узким местом моей Java-программы действительно являются некоторые жесткие петли, чтобы вычислить кучу векторных точечных продуктов. Да, я профилировал, да, это узкое место, да, это важно, да, что именно так алгоритм, да, я запустил Proguard д...
задан 28 мая '12 в 15:48
1
ответ

Действительно ли ifelse действительно вычисляет оба своих вектора каждый раз? Это медленно?

Действительно ли ifelse вычисляет как векторы yes, так и no - как и во всем векторе? Или он просто вычисляет некоторые значения из каждого вектора? Кроме того, ifelse действительно медленный?
задан 29 апр. '13 в 12:22
2
ответов

Является ли индексирование векторов в MATLAB неэффективным?

Фон Мой вопрос мотивирован простыми наблюдениями, что несколько подрывает убеждения/предположения, часто проводимые/сделанные опытными пользователями MATLAB: MATLAB очень хорошо оптимизирован, когда речь идет о встроенных функциях и основных фун...
задан 14 нояб. '12 в 18:46
5
ответов

Как назначить значения по диагонали?

Предположим, что у меня есть матрица NxN A, индексный вектор V, состоящий из подмножества чисел 1: N и значения K, и я хочу сделать это: for i = V A(i,i) = K end Есть ли способ сделать это в одном утверждении w/vectorization? например. A (...
задан 19 окт. '10 в 0:29
7
ответов

Поиск островов нулей в последовательности

Представьте, что у вас очень длинная последовательность. Каков наиболее эффективный способ нахождения интервалов, где последовательность - все нули (точнее, последовательность падает до почти нулевых значений abs(X)<eps): Для простоты предположи...
задан 18 июля '10 в 5:04
7
ответов

Перетасовка ненулевых элементов каждой строки в массиве - Python/NumPy

У меня есть массив, который относительно редок, и я хотел бы пройти через каждую строку и перетасовать только ненулевые элементы. Пример ввода: [2,3,1,0] [0,0,2,1] Результат: [2,1,3,0] [0,0,1,2] Обратите внимание на то, что нули не изменили по...
задан 18 авг. '17 в 23:57
1
ответ

Сравнение BSXFUN и REPMAT

Несколько вопросов задавались перед сравнением между bsxfun и repmat для производительности. Один из них: Matlab - bsxfun no longer faster than repmat?. Это попыталось исследовать сопоставления производительности между repmat и bsxfun, специф...
задан 18 апр. '15 в 19:08
4
ответов

GCC: разница векторизации между двумя аналогичными циклами

При компиляции с gcc -O3, почему следующий цикл не векторизовать (автоматически): #define SIZE (65536) int a[SIZE], b[SIZE], c[SIZE]; int foo () { int i, j; for (i=0; i<SIZE; i++){ for (j=i; j<SIZE; j++) { a[i] = b[i] > c[...
задан 23 авг. '12 в 19:55