Рубрика «parallel»

Разобраться раз и навсегда: Task.WhenAll или Parallel.ForEachAsync в C# - 1

Все хотят писать код, который работает быстро. Часто мы сидим, просматривая написанные алгоритмы и пытаясь понять, что можно сделать, чтобы настроить их производительность. В таком случае часто прибегают к параллельному выполнению задач. Конечно, если можно выполнять задачи параллельно и делать эту работу одновременно, то ожидаемо общее количество времени на обработку сократиться.

Если быстро посмотреть на результаты, которые появляются в интернете при поиске советов по реализации подобных вещей, то можно увидеть, что есть как много похожих, так и различных предложений от различных программистов. В какой-то момент поиска вы, вероятно, столкнётесь с поиском идеей использования Task.WhenAll или Parallel.ForEachAsync.

При чтении некоторых из этих материалов будет видно много различных противоречивых ответов как на StackOverflow, так и по всему интернету. Сегодня я собираюсь сравнить эти два метода с помощью определённых бенчмарков, которые стравят их друг против друга, чтобы, наконец, выяснить применимость каждого из двух методов.
Читать полностью »

Visual Studio 2015 с обновлением 1 включает в себя ряд улучшений и исправлений. В этой публикации мы сконцентрируем внимание на двух улучшениях, способных существенно повысить общую производительность разработки ПО.

Параллельное выполнение тестов

Тестовое ядро Visual Studio 2015 Update 1 способно параллельно выполнять тестовые сборки, что существенно повышает производительность тестирования. По умолчанию этот режим отключен, поэтому Вам необходимо включить его.

Система параллельно выполняет тестовые сборки на указанном вами количестве ядер — вплоть до всех ядер вашего компьютера. Разумеется, при наличии единственного тестового проекта это не дает никаких преимуществ. Данное решение предназначено для проектов значительного масштаба. Оно не зависит от типа используемой тестовой платформы и работает с MSTest, NUnit 2, NUnit 3 и XUnit. Этот механизм полностью независим от поддержки параллелизма базовой платформой.
Читать полностью »

Введение

Данная статья кратко описывает распараллеливание расчетов на вычислительных мощностях CPU и GPU. Перед тем как перейти к описанию самих алгоритмов, ознакомлю вас с поставленной задачей.

Необходимо смоделировать систему решения задач методом конечных разностей. С математической точки зрения это выглядит следующим образом. Дана некоторая конечная сетка:

Распараллеливание расчетов на CPU и GPU - 1

Неизвестные значения сетки находятся по следующей формуле методом конечных разностей:

Распараллеливание расчетов на CPU и GPU - 2
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js