Pull to refresh
73
0
Степанова Елена @Wildy

R&D Engineer

Send message

2013: пора прекратить погоню за флопсами

Reading time 2 min
Views 28K
От переводчика: Exascale computing — это такой амбициозный проект по достижению производительности порядка ExaFLOPS к 2018 году. Есть мнение, что наукоемким вычислениям уже сейчас тесно в петафлопсах. Так ли это на самом деле? Размышления на эту тему Уильяма Гроппа, директора Parallel Computing Institute, были опубликованы в The Exascale Report.

2013: TIME TO STOP TALKING ABOUT EXASCALE
William D. Gropp


Каждый, кто читает это, верит в силу вычислительных технологий. Нам кажется само собой разумеющимся, что производительность самых мощных вычислительных систем должна продолжать расти с прежней скоростью, чтобы удовлетворять потребности общества. Тем не менее, это не так уж и бесспорно.
Читать дальше →
Total votes 57: ↑46 and ↓11 +35
Comments 52

Про двумерную упаковку: online алгоритмы

Reading time 12 min
Views 29K
Это продолжение поста про оффлайн алгоритмы упаковки.

Суть задачи: имеем полубесконечную полосу — как в тетрисе, только без game over'а, и конечный набор прямоугольников. Данные о прямоугольниках поступают в режиме реального времени; каждый новый прямоугольник необходимо немедленно разместить и больше не двигать с места. Цель — минимизировать общую высоту упакованных прямоугольников.
Это online-вариация задачи об упаковке прямоугольников в полуограниченную полосу (2 Dimensional Strip Packing, 2DSP).

Чуть больше теоретических сведений можно найти в предыдущей статье, а пока, без лишних слов, перейдем к алгоритмам.
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Comments 14

Про двумерную упаковку: offline алгоритмы

Reading time 12 min
Views 66K
Сегодня, дорогой Хабр, я расскажу тебе историю о комбинаторной оптимизации.
Издревле (как минимум, с начала прошлого века) математики задавались вопросом, как оптимально разместить некоторое количество пива нужных и полезных предметов в рюкзаке. Была сформулирована задача о ранце и ее подзадачи — тысячи их! — которые заинтересовали информатиков, криптографов и даже лингвистов.

От задачи о ранце отпочковалась задача об упаковке в контейнеры (Bin Packing Problem), одной из разновидностей которых является задача двумерной упаковки (2-Dimensional Bin Packing). Снова отбросив несколько вариаций, мы наконец придем к двумерной упаковке в полуограниченную полосу (2-Dimensional Strip Packing, 2DSP). Чувствуете, сколько интересного уже осталось за кадром? Но мы еще не закончили продираться сквозь классификацию. У 2DSP есть два варианта входных данных: когда набор упаковываемых объектов известен заранее (offline-проблема) и когда данные поступают порциями (online-проблема).

В этой статье рассматриваются алгоритмы решения offline-варианта 2DSP. Под катом немного матчасти и много картинок с цветными квадратиками.

В чем, собственно, проблема?


Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Comments 14

Про техники оптимизации

Reading time 24 min
Views 11K
Поучительная история о техниках оптимизации наглядно.

Техзадание

Объявим в рамках топика небольшой конкурс по архитектурно-ориентированной оптимизации программного обеспечения.
Вкратце, код состоит из пачки функций, производящих невнятные на первый взгляд манипуляции с исходными данными, и примочки-драйвера, который n раз запускает неоптимизированную версию, затем оптимизированную, сравнивает насчитанные циферки, и, в случае их совпадения, выдает отношение времени выполнения. Вот так:

Executing original code… done
Executing optimized code… done
Checking results… PASSED
Number of runs: 3
Original code average time: 11.954537 sec.
Optimized code average time: 1.052994 sec.
Speedup: 11.35

Разрешено использовать любые техники оптимизации, компилятор GCC с любыми опциями, и, скажем, сервер с двумя четырехъядерными процессорами Intel Xeon E5420 2.5 GHz.
Вот, кстати, код:
Читать дальше →
Total votes 108: ↑93 and ↓15 +78
Comments 66

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity