Вопросы с тегом «parallel-processing»

Параллельная обработка, в отличие от простой параллельной обработки, гарантирует запуск / выполнение / завершение всех задач уровня потока и / или уровня инструкций, выполняемых параллельно, и обеспечивает гарантированное завершение одновременно выполняемых путей кода.

515
Должен ли я всегда использовать параллельный поток, когда это возможно?

С Java 8 и лямбдами легко перебирать коллекции как потоки, и так же просто использовать параллельный поток. Два примера из документов , второй с использованием parallelStream: myShapesCollection.stream() .filter(e -> e.getColor() == Color.RED) .forEach(e -> System.out.println(e.getName()));...

398
Пользовательский пул потоков в параллельном потоке Java 8

Можно ли указать пользовательский пул потоков для параллельного потока Java 8 ? Я не могу найти это нигде. Представьте, что у меня есть серверное приложение, и я хотел бы использовать параллельные потоки. Но приложение большое и многопоточное, поэтому я хочу разделить его. Я не хочу медленное...

381
Как ждать завершения всех потоков, используя ExecutorService?

Мне нужно выполнить некоторое количество задач 4 за один раз, что-то вроде этого: ExecutorService taskExecutor = Executors.newFixedThreadPool(4); while(...) { taskExecutor.execute(new MyTask()); } //...wait for completion somehow Как я могу получить уведомление, когда все они будут завершены? Пока...

346
В чем разница между параллельным программированием и параллельным программированием?

В чем разница между параллельным программированием и параллельным программированием? Я спросил Google, но не нашел ничего, что помогло бы мне понять эту разницу. Не могли бы вы привести пример для обоих? На данный момент я нашел это объяснение: http://www.linux-mag.com/id/7411 - но "параллелизм -...

281
Оптимальное количество потоков на ядро

Допустим, у меня есть 4-ядерный процессор, и я хочу запустить какой-то процесс за минимальное количество времени. Этот процесс идеально распараллеливается, поэтому я могу запускать его в бесконечном количестве потоков, и каждый поток занимает одинаковое количество времени. Поскольку у меня 4 ядра,...

256
Как распараллелить простой цикл Python?

Вероятно, это тривиальный вопрос, но как мне распараллелить следующий цикл в python? # setup output lists output1 = list() output2 = list() output3 = list() for j in range(0, 10): # calc individual parameter value parameter = j * offset # call the calculation out1, out2, out3 = calc_stuff(parameter...

249
Есть ли эквивалент «продолжить» в Parallel.ForEach?

Я портирую некоторый код Parallel.ForEachи получил ошибку с кодом, который у continueменя есть. Есть ли что-то эквивалентное, что я могу использовать в Parallel.ForEachфункционально эквивалентном continueв foreachцикле? Parallel.ForEach(items, parallelOptions, item => { if (!isTrue) continue;...

245
Как вы запускаете несколько программ параллельно из bash-скрипта?

Я пытаюсь написать .sh файл, который запускает много программ одновременно Я пробовал это prog1 prog2 Но это запускает prog1, затем ждет, пока prog1 заканчивается, а затем запускает prog2 ... Так как я могу запустить их...

235
В чем разница между асинхронным программированием и многопоточностью?

Я думал, что это в основном одно и то же - написание программ, которые разделяют задачи между процессорами (на машинах с 2+ процессорами). Тогда я читаю это , в котором говорится: Асинхронные методы предназначены для неблокирующих операций. Выражение await в асинхронном методе не блокирует текущий...

198
Нет ConcurrentList <T> в .Net 4.0?

Я был рад увидеть новое System.Collections.Concurrentпространство имен в .Net 4.0, довольно приятно! Я видел ConcurrentDictionary, ConcurrentQueue,ConcurrentStack , ConcurrentBagи BlockingCollection. Одна вещь, которая, кажется, таинственно отсутствует, это ConcurrentList<T> . Я должен...

149
Как заниматься параллельным программированием на Python?

Для C ++ мы можем использовать OpenMP для параллельного программирования; однако OpenMP не будет работать с Python. Что мне делать, если я хочу распараллелить некоторые части моей программы на Python? Структуру кода можно рассматривать как: solve1(A) solve2(B) Где solve1и solve2две независимые...

143
Parallel.ForEach () и foreach (IEnumerable <T> .AsParallel ())

Эрг, я пытаюсь найти эти два метода в BCL, используя Reflector, но не могу их найти. В чем разница между этими двумя фрагментами? A: IEnumerable<string> items = ... Parallel.ForEach(items, item => { ... }); B: IEnumerable<string> items = ... foreach (var item in items.AsParallel()) {...

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

Многие платформы продвигают асинхронность и параллелизм как средства повышения быстродействия. Я понимаю разницу в целом, но часто мне трудно сформулировать это в собственном уме, а также для других. Я рабочий программист и довольно часто использую асинхронные функции и обратные вызовы....

141
В чем различия между многопоточными и многопроцессорными модулями?

Я учусь , как использовать threadingи те multiprocessingмодули в Python для выполнения определенных операций параллельно и ускорить свой код. Я нахожу это трудным (возможно, потому что у меня нет никакого теоретического фона об этом), чтобы понять, в чем разница между threading.Thread()объектом и...

127
Почему я должен предпочесть одно ожидание Task.WhenAll нескольким ожиданиям?

В случае, если меня не волнует порядок выполнения задач и мне просто нужно, чтобы они все выполнялись, следует ли мне использовать await Task.WhenAllвместо нескольких await? например, DoWork2ниже предпочтительный метод DoWork1(и почему?): using System; using System.Threading.Tasks; namespace...

125
Может ли Powershell запускать команды параллельно?

У меня есть сценарий PowerShell для выполнения пакетной обработки нескольких изображений, и я хотел бы выполнить некоторую параллельную обработку. Powershell, похоже, имеет некоторые параметры фоновой обработки, такие как start-job, wait-job и т. Д., Но единственным хорошим ресурсом, который я...

124
Объекты с общей памятью в многопроцессорной обработке

Предположим, у меня есть большой массив numpy в памяти, у меня есть функция, funcкоторая принимает этот гигантский массив в качестве входных данных (вместе с некоторыми другими параметрами). funcс разными параметрами можно запускать параллельно. Например: def func(arr, param): # do stuff to arr,...

114
Переполнение кучи потоков Haskell, несмотря на использование всего 22 МБ памяти?

Я пытаюсь распараллелить трассировщик лучей. Это означает, что у меня есть очень длинный список небольших вычислений. Ванильная программа запускается на определенной сцене за 67,98 секунды при использовании 13 МБ общей памяти и производительности 99,2%. В своей первой попытке я использовал...