
Параллельное программирование *
Распараллеливаем вычисления
Вычисления на видеокарте, руководство, лёгкий уровень
ссылка на файл проекта .unitypackage
Она рисует фрактал Мандельброта.
Я не буду пояснять каждую строчку кода, укажу только необходимые действия для реализации вычислений на GPU. Поэтому, лучше всего открыть код программы в Юнити и там смотреть, как используются поясняемые мной строчки кода.
Шейдер, который рисует фрактал, написан на языке HLSL. Ниже приведён его текст. Я кратко прокомментировал значимые строки, а развёрнутые объяснения будут ниже.
Достижение максимальной производительности Быстрого Преобразования Фурье на основе управления данными
[3] Caterpillar Implementation Based on Generated Code
// не вижу смысла писать на ресурсе а) с цензурой тэгов б) где каждый проходящий бот, набравший рейтинг галиматьей, сносит твой рейтинг и объяснение причины с него не требуется
Суровая сибирская и казахстанская микроэлектроника 2017 года: Verilog, ASIC и FPGA в Томске, Новосибирске и Астане
Для перехода от единичных успехов к развитой экосистеме необходимо подкрутить образование. В сентябре в Томске прошло совещание, на котором преподаватели и инженеры из Москвы, Сибири, Поволжья, Калифорнии и других мест обменялись опытом в преподавании микроэлектроники. Одновременно там же прошел учебный семинар по SystemVerilog, VHDL, FPGA, CPU IP, на который пришли не только россияне, но и студенты из Китая и Вьетнама, среди которых быстро распостранилась информация, что рядом учат чему-то полезному для их карьеры. Под катом — отчет об этом и сопутствующих событиях. Действующие лица: томские и новосибирские университеты, московские МГУ, МФТИ и МИЭТ, новосибирские лицеи, российская компания МЦСТ, американские MIPS, AMD и National Instruments, британская Imagination и казахский Назарбаевский Университет.

Доделал игру, работающую на видеокарте

Самая быстрая и энергоэффективная реализация алгоритма BFS на различных параллельных архитектурах
Оффтоп
В названии статьи не поместилось — данные результаты считаются таковыми по версии рейтинга Graph500. Также хотелось бы выразить благодарность компаниям IBM и RSC за предоставленные ресурсы для проведения экспериментальных запусков во время исследования.
Введение
Поиск в ширину (BFS) является одним из основных алгоритмов обхода графа и базовым для многих алгоритмов анализа графов более высокого уровня. Поиск в ширину на графах является задачей с нерегулярным доступом к памяти и с нерегулярной зависимостью по данным, что сильно усложняет его распараллеливание на все существующие архитектуры. В статье будет рассмотрена реализация алгоритма поиска в ширину (основного теста рейтинга Graph500) для обработки больших графов на различных архитектурах: Intel х86, IBM Power8+, Intel KNL и NVidia GPU. Будут описаны особенности реализации алгоритма на общей памяти, а также преобразования графа, которые позволяют достичь рекордных показателей производительности и энергоэффективности на данном алгоритме среди всех одноузловых систем рейтинга Graph500 и GreenGraph500.
Развитие стратегий устойчивости

В предыдущей статье я описал несколько алгоритмов эволюционных стратегий (evolution strategies, ES), помогающих оптимизировать параметры функции без необходимости явно вычислять градиенты. При решении задач обучения с подкреплением (reinforcement learning, RL) эти алгоритмы можно применять для поиска подходящих наборов параметров модели для агента нейросети (neural network agent). В этой статье я расскажу об использовании ES в некоторых RL-задачах, а также опишу методы поиска более стабильных и устойчивых политик.
Бесплатная YouTube-трансляция Joker 2017: Java 9, Concurrency, GC, Spring и, конечно, паззлеры

Круг замкнулся. Ровно год назад мы провели открытую трансляцию Joker 2016 для всех тех, у кого не было возможности зарегистрироваться. С тех пор мы провели более десятка трансляций с конференций по .NET, JavaScript, DevOps, мобильным технологиям, тестированию и Java, само собой.
Что стало лучше за год? Мы отработали технологию, пофиксили пару уязвимостей, начали транслировать через YouTube (а не через кастомный интерфейс), научились задавать вопросы от участников трансляции, забанили добрую сотню троллей, научились проводить интервью в перерывах без задержек и проволочек, начали делать трансляцию в 1440р… наверное, есть что-то еще.
Собственно, уже совсем скоро вы сможете увидеть, что у нас получилось — 3 ноября в 9:30 утра мы начнем двухдневную бесплатную трансляцию главного трека Joker 2017. Трансляция будет идти с одним перерывом «на сон». А еще она будет в разрешении 1440р, так что в кои-то веки вам понадобятся ваши крутые мониторы.
В программу вошли доклады Cay Horstmann, Алексея Шипилёва, Баруха jbaruch Садогурского, Тагира lany Валеева, Николая xpinjection Алименкова, Евгения EvgenyBorisov Борисова, Сергея Milfgard Абдульманова и еще кое-кого.
Интересно? Давайте под кат.
Глубокое обучение с R и Keras на примере Carvana Image Masking Challenge

Привет, Хабр!
Пользователи R долгое время были лишены возможности приобщиться к deep learning-у, оставаясь в рамках одного языка программирования. С выходом MXNet ситуация стала меняться, но своеобразная документация и частые изменения, ломающие обратную совместимость, все еще ограничивают популярность данной библиотеки.
Гораздо привлекательнее выглядит использование R-интерфейсов к TensorFlow и Keras с бекендами на выбор (TensorFlow, Theano, CNTK), подробной документацией и множеством примеров. В этом сообщении будет разобрано решение задачи сегментации изображений на примере соревнования Carvana Image Masking Challenge (победители), в котором требуется научиться отделять автомобили, сфотографированные с 16 разных ракурсов, от фона. "Нейросетевая" часть полностью реализована на Keras, за обработку изображений отвечает magick (интерфейс к ImageMagick), параллельная обработка обеспечивается parallel+doParallel+foreach (Windows) или parallel+doMC+foreach (Linux).
На дворе почти 2018, а мы любим колбэки
Если в первый момент идея не кажется абсурдной, она безнадёжна.
— Альберт Эйнштейн
Мы собрали для вас самые популярные темы из обсуждений Node.js на Хабре, и попросили рассказать о них признанных экспертов: некоммерческого Node-хакера Матиаса Мэдсена и автора множества книг и курсов по Node, Азата Мардана.
Вот точный список тем:
- Потоки в Node.js и способы распараллеливания вычислений;
- Асинхронность в Node.js;
- Отладка и логирование в Node.js;
- Проблемы мониторинга производительности на продакшене;
Инструменты для мониторинга нод.
Азат Мардан (Azat Mardan) — Tech Fellow, менеджер в компании Capital One, и эксперт по JavaScript/Node.js с несколькими онлайн-курсами на Udemy и в Node University, а также автор 14 книг по той же тематике, включая «React Quickly» (Manning, 2017), «Full Stack JavaScript» (Apress, 2015), «Practical Node.js» (Apress, 2014) и «Pro Express.js» (Apress, 2014).
Асинхронность 3: Субъекторная модель

Предисловие
Эта статья является продолжением цикла статей про асинхронность:
Спустя 3 года я решил расширить и обобщить имеющийся спектр асинхронного взаимодействия с использованием сопрограмм. Помимо этих статей также рекомендуется ознакомиться с универсальным адаптером:
Введение
Рассмотрим электрон. Что он из себя представляет? Отрицательно заряженная элементарная частица, лептон, обладающий некоторой массой. Это означает, что он может участвовать по меньшей мере в электромагнитных и гравитационных взаимодействиях.
Behind the scene of TOP-1 supercomputer
Это история о том, как мы c mildly_parallel замедляли ускоряли расчеты на самом мощном суперкомпьютере в мире.
Оптимизация TensorFlow на современных архитектурах Intel

Ближайшие события
SDAccel — проверяем передачу данных

В предыдущей статье «SDAccel – первое знакомство» я попытался описать основы применения OpenCL на ПЛИС Xilinx. Теперь настало время поделиться результатами экспериментов по передаче данных на модуле ADM-PCIe-KU3. Проверяется передача данных в обоих направлениях. Исходный код программ размещён на GitHub: https://github.com/dsmv/sdaccel
Concurrency паттерны в Rust из Java
Под катом находятся заметки, в которых расписано, как реализовать в Rust хитрые concurrency паттерны, которые я с легкостью пишу в Java, и в чем различие в подходах к concurrency у этих языков. Статья будет полезна и тем, кто переходит на Rust из C#, ведь у него аналогичная модель памяти.
Экскурсия по Музею Истории Компьютеров в Калифорнии, с пользой для разработки. Часть 1. ENIAC, Stretch, CDC6600, IBM/360
Каким образом все это принесет пользу России? Под такие проекты мы собираемся раздавать FPGA платы на конференции которая пройдет 18-22 сентября в Томске. Туда приедут представители МГУ, МФТИ, МИЭТ, МЦСТ, Imagination Technologies, National Instruments итд. Они будет обсуждать, как обновить программу университетов, чтобы сегодняшние студенты через несколько лет проектировали росийские чипы на уровне передовых западных компаний. Там также будет школа-семинар, на которой будут обсуждать, как делать учебные процессоры — начиная от простейшего schoolMIPS от Станислава Жельнио sparf.
Вот первая фотография из музея в Маунтин-Вью — на ней помимо Ирины и ракеты в центре виден небольшой ящичек. Это бортовой компьютер космической станции «МИР» , который проектировали инженеры советского объединения «ЭЛАС», которое трансформировалось в современную зеленоградскую компанию «ЭЛВИС»:

Итак, темы для учебных проектов — начиная из дремучих десятилетий середины XX века:
Идеи о новых возможностях обычного/параллельного программирования (расширение C++)
Предлагаю всем, кто заинтересуется, обсудить некоторые основные идеи классического и параллельного программирования в расширении C++, основанном на процедурах/функциях с планированием повторного входа (ПППВ/ФППВ). В минимальном варианте — это процедура или функция, у которой есть статический или динамический план исполнения.
[Питер] Встреча JUG.ru c легендой параллельного программирования Maurice Herlihy — Transactional Memory and Beyond

У нас праздник! В начале июля в Санкт-Петербурге пройдет SPTCC 2017, летняя школа по параллельному программированию. Одним из лекторов школы станет Морис Херлихи (Maurice Herlihy), легенда параллельного программирования, один из авторов знаменитого учебника «The Art of Multiprocessor Programming».
В четверг, 6 июля, в 19:00 в Университете ИТМО Морис выступит на встрече JUG.ru. На этот раз мы будем говорить не про Java. Тема встречи — транзакционная память.
О чем же нам расскажет Морис?
Транзакционная память
Новое поколение процессорных архитектур предоставляет нам аппаратную транзакционную память (Hardware Transactional Memory — HTM), механизм синхронизации для быстрых транзакций в оперативной памяти. В данном докладе будет показано, что HTM это не просто более быстрый путь для релизации старых-добрых monitor-ов и latch-ей. На самом деле, HTM обеспечивает фундаментальные позитивные изменения в том, как мы программируем многоядерные машины (и возможно даже базы данных), позволяя нам переосмыслить базовые примитивы синхронизации, такие, как lock-и, управление памятью, и многообразие многопоточных структур данных.
Материалы студенческой школы «Recent Advances in Algorithms»

В конце мая в Петербурге в ПОМИ РАН прошла международная студенческая школа «Recent Advances in Algorithms». Идея школы заключалась в том, чтобы ведущие учёные рассказали о последних достижениях в области алгоритмов. В результате у нас получился следующий список курсов.

Потоки выполнения и PHP
PHP и потоки выполнения (threads). Предложение всего лишь из четырёх слов, а по этой теме можно написать книгу. Как обычно, я не буду так делать, зато дам вам информацию, чтобы вы стали разбираться в предмете до определённой степени.
Начнём с путаницы, которая есть в головах у некоторых программистов. PHP — это не многопоточный язык. Внутри самого PHP не используются потоки выполнения, и PHP не даёт возможности пользовательскому коду нативно использовать их в качестве механизма параллелизации.
PHP очень далёк от других технологий. Например, в Java очень активно используются потоки выполнения, ещё они могут встречаться в пользовательских программах. В PHP такого нет. И тому есть причины.
Вклад авторов
ThisIsZolden 598.0YuriPanchul 314.0sidristij 269.4AlexeyR 269.0khizmax 265.0ivorobts 206.0krogozh 206.0AndrewSu 177.0AlexeyAB 167.0