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

разделить длинную 2D-матрицу на третье измерение
Скажем, у меня есть следующая матрица: A = randi(10, [6 3]) 7 10 3 5 5 7 10 5 1 6 5 10 4 9 1 4 10 1 И я хотел бы извлечь каждые 2 строки и поместить их в третье...
2273 просмотров

Каков правильный синтаксис для применения функции к подэлементам матрицы без использования цикла?
У меня есть определенная функция (GetDepth), которая делает что-то довольно тривиальное, например, принимает матрицу 2x4 и выводит матрицу 2x1. Затем у меня есть матрица 2x4xn, к которой я хочу применить ее, и я ожидаю результата матрицы 2x1xn....
195 просмотров
schedule 04.05.2022

Фильтр среднего значения в MATLAB без циклов или набора инструментов для обработки сигналов
Мне нужно реализовать средний фильтр для набора данных, но у меня нет доступа к набору инструментов обработки сигналов. Есть ли способ сделать это без использования цикла for? Вот код, который у меня работает: x=0:.1:10*pi;...
5313 просмотров
schedule 01.03.2023

Возвращаемое значение из столбца, указанного в той же строке
Я застрял в простом цикле, выполнение которого занимает больше часа, и мне нужна помощь, чтобы ускорить его. По сути, у меня есть матрица с 31 столбцом и 400 000 строк. Первые 30 столбцов содержат значения, а 31-й столбец имеет номер столбца. Мне...
1101 просмотров
schedule 18.06.2022

Как рассчитать одно-векторное точечное произведение с использованием встроенных функций SSE в C
Я пытаюсь умножить два вектора вместе, где каждый элемент одного вектора умножается на элемент с тем же индексом в другом векторе. Затем я хочу просуммировать все элементы результирующего вектора, чтобы получить одно число. Например, расчет будет...
25606 просмотров
schedule 12.03.2024

Какую реализацию массива Haskell использовать? АКА, каковы плюсы и минусы каждого
Что мне нужно? [неупорядоченный список] ОЧЕНЬ простая распараллеливание поддержка карты, фильтра и т. д. способность выполнять вычисления на основе массивов эффективно , например, A=B+C, вроде массивов Matlab. Генерация SIMD-кода. Я...
1555 просмотров
schedule 04.02.2022

Двойное суммирование с векторизованными циклами в Matlab
Я хочу векторизовать этот двойной цикл for, потому что это узкое место в моем коде. Поскольку Matlab является языком индексирования на основе одного, мне нужно создать дополнительный термин для M = 0. R, r, лямбда являются константами...
1377 просмотров
schedule 21.01.2023

Как заставить компилятор ICC генерировать инструкции SSE во внутреннем цикле?
У меня есть внутренний цикл, такой как этот for(i=0 ;i<n;i++){ x[0] += A[i] * z[0]; x[1] += A[i] * z[1]; x[2] += A[i] * z[2]; x[3] += A[i] * z[3]; } Внутренние 4 инструкции могут быть легко преобразованы компилятором в инструкции SSE....
560 просмотров
schedule 07.06.2023

Ускорение матрицы 5x5 с плавающей запятой * векторное умножение с помощью SSE
Мне нужно запустить умножение матрицы на вектор 240000 раз в секунду. Матрица 5x5 всегда одна и та же, а вектор меняется на каждой итерации. Тип данных float . Я думал об использовании некоторых инструкций SSE (или подобных). Меня беспокоит,...
9641 просмотров

Разделение матрицы на основе ее содержимого в MATLAB
Матрица состоит из m строк и n столбцов (n — число, не превосходящее 10), а n-й столбец содержит либо 1, либо 0 (двоичное число). Я хочу использовать этот двоичный файл как решение удалить связанную строку (если 1 или иначе, если 0). Я понимаю, что...
943 просмотров
schedule 16.06.2023

MATLAB: сопоставление слов между массивами ячеек строк
Я пытаюсь решить следующую проблему, и мне нужно сделать это как можно эффективнее (т. е. стараться избегать циклов, насколько это возможно). У меня есть два массива ячеек, а именно A и B. Каждая ячейка A и B содержит строку символов. Длина этих...
2557 просмотров

Векторизация циклов for
Этот фрагмент кода работает так, как я хочу, но в духе хорошего кода MATLAB есть ли способ векторизовать его (предыдущий - это вектор k x 1): start = zeros(k,1); for i = 2:length(previous) if (previous(i-1) == -1) start(previous(i))=...
198 просмотров
schedule 04.04.2024

векторизован, если в Matlab
У меня есть логический массив, назовите его flag . У меня есть два числовых массива ifTrue , ifFalse . Все эти массивы имеют одинаковый размер. Для целей этого вопроса предполагается, что каждый элемент в этих массивах уникален. Мне нужна...
765 просмотров

MATLAB: поиск статистики отсортированных данных с использованием векторизации
У меня есть функциональный код, который я пытаюсь ускорить, исключив цикл for. У меня есть набор данных в парах x, y в виде двух векторов, поэтому x (k) и y (k) образуют пару. У меня также есть набор граней корзины (xe). Для каждого бина j...
393 просмотров
schedule 31.05.2023

ARM NEON: сравнение 128-битных значений
Мне интересно найти самый быстрый способ (наименьшее количество циклов) сравнения значений, хранящихся в регистрах NEON (скажем, Q0 и Q3) на ядре Cortex-A9 (разрешены инструкции VFP). Пока у меня есть следующее: (1) Использование сравнения VFP с...
1964 просмотров
schedule 11.12.2023

Векторизация кода для вычисления суммы
Я хотел бы векторизовать расчет суммы A{1} + A{2} + ... + A{end} где A — векторный массив ячеек, а каждый A{i} — числовая матрица размера nxn. Есть много способов закодировать мой путь через это, но мне было интересно, есть ли...
73 просмотров
schedule 20.09.2022

ggplot2: как прозрачно затенить чередующиеся дни на графике
Что я делаю неправильно здесь, пожалуйста? Я пытаюсь закрасить чередующиеся 24-часовые ежедневные прямоугольники прозрачным серым цветом. Но рисуется только последний прямоугольник из цикла for (?!?). Если я делаю что-то вручную, а не с помощью...
7724 просмотров

Векторизация с подмножеством ()?
У меня есть кадр данных scores ( V3 ) для ряда целочисленных диапазонов (от V1 до V2 ). scores <- structure(list(V1 = c(2037651L, 2037659L, 2037677L, 2037685L, 2037703L, 2037715L), V2 = c(2037700L, 2037708L, 2037726L, 2037734L,...
206 просмотров
schedule 10.09.2023

Не удалось определить, почему следующий фрагмент кода не был векторизован
Я какое-то время боролся с векторизацией конкретного приложения, и я пробовал все. От автовекторизации до написанных вручную встроенных функций SSE. Но почему-то я не могу получить ускорение в своем приложении на основе трафарета. Ниже приведен...
1229 просмотров
schedule 01.01.2024

R применить функцию к выбранным парам или строкам
У меня есть матрица M и матрица L, которая содержит «пару индексов строк», которые мне нужно выбрать в M, чтобы применить функцию. Функция возвращает матрицу с 2 строками и таким же количеством столбцов M: set.seed(1) # M has even number of rows...
1139 просмотров
schedule 18.07.2022