Pull to refresh
0
0

Вычисляем на видеокартах. Технология OpenCL. Часть 2. Алгоритмы в условиях массового параллелизма

Reading time 9 min
Views 5.4K
Яндекс Практикум corporate blog High performance *Programming *GPGPU *Video cards
Автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL».



Мы подготовили для вас его текстовую версию, для удобства разбив её на смысловые блоки.
1. Зачем мы здесь собрались. Краткая история GPGPU.
1a. Как работает OpenCL.
1b. Пишем для OpenCL.
2. Алгоритмы в условиях массового параллелизма.
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 4

Краеугольные камни уничтожения медленного кода в Wolfram Language: ускоряем код в десятки, сотни и тысячи раз

Reading time 77 min
Views 11K
Wolfram Research corporate blog Programming *Algorithms *Debugging *Functional Programming *
Tutorial
Скачать файл с кодом и данные можно в оригинале поста в моем блоге

Картинка к вебинару и посту взята не просто так: в определенном смысле символьное ядро Wolfram Language можно сравнить с Таносом — если бы его мощь была бы направлена в правильное русло, он мог бы стать самым мощным и полезным «добряком». Так же и с символьным ядром Wolfram — его чудовищную мощь нужно правильно использовать, а если это делать не так, оно может стать настоящим «злом», замедляющим все очень сильно. Начинающие разработчики не знают многих важнейших парадигм, идей и принципов языка Wolfram Language, пишут код, который на самом деле дико неэффективен и после этого разочаровываются, хотя тут нет вины Wolfram Language. Эту ситуацию призвана исправить эта статья.

Мне довелось работать с Wolfram Language начиная с (уже довольно далекого) 2005 года (тогда еще была версия Mathematica 5.2, сейчас уже 12-я). За эти почти 15 лет произошло очень много: добавились тысячи новых встроенных функций и областей, в которых они работают (машинное обучение, точная геометрия, работа с аудио, работа в вебе, облачные возможности, глубокая поддержка единиц измерения, интеграция с базами данных Wolfram|Alpha, географические вычисления, поддержка работы с CUDA, Python, распараллеливание операций и многое многое другое), появились новые сервисы — облако Wolfram Cloud, широко известная система вычислительных значeний Wolfram|Alpha, репозиторий функций, репозиторий нейросетей и пр.
Total votes 22: ↑21 and ↓1 +20
Comments 20

Gnuplot. Пакуем выходной svg — в один файл

Reading time 12 min
Views 4.5K
RUVDS.com corporate blog Python *Vector graphics *HTML *Data visualization *
Tutorial

Старый мем на новый лад.

Предыдущая моя статья "Gnuplot и с чем его едят" получила большой отклик и даже была переведена на несколько языков (видел на медиуме, встречал на немецком). Поэтому, раз тема актуальная, решил продолжить.

У меня появилась задача получать данные, а затем на удалённом сервере строить по ним графики и отправлять по почте. Причём графики должны иметь возможность отключать оси, приближать отдельные области графика, включать-выключать сетку. И вы знаете, gnuplot умеет выдавать подобные графики. Он даёт их в формате html или svg. Но вот незадача, вместе с этим файлом надо тащить ещё багаж данных в виде кучи javascript-файликов, картинок, css (в случае html), что сильно сужает применимость при отправке их по почте.

В результате, нашёл-таки решение данной проблемы и продемонстрирую её решение на примере svg-файла, для html будет аналогично. Поскольку нет возможности привести график реальных данных, где было использовано это решение, в пример взял шуточный мем про студентов
Читать дальше →
Total votes 64: ↑62 and ↓2 +60
Comments 12

Открытый проект индуктивного абсолютного энкодера

Reading time 11 min
Views 24K
Open source *Programming microcontrollers *Manufacture and development of electronics *DIY Electronics for beginners
✏️ Technotext 2021

Без энкодеров не обходится ни один промышленный робот, принтер, лифт,  гимбал и проч. Но и в более простых вещах энкодеры тоже нужны. При этом индустриальный энкодер на 1024 точки может обойтись дороже самого мотора. Здесь представлен проект индуктивного энкодера способного упростить жизнь создателям мехатроники.

Читать далее
Total votes 127: ↑126 and ↓1 +125
Comments 114

Режимы работы выходных каскадов ламповых усилителей

Reading time 8 min
Views 15K
RUVDS.com corporate blog Circuit design *Old hardware Electronics for beginners

Схемотехника ламповых усилителей обманчиво проста. Каждый каскад состоит всего из нескольких компонентов: собственно лампы, двух-трёх-четырёх резисторов и пары-тройки конденсаторов. Выходной каскад лампового усилителя может быть однотактным (SE) и двухтактным (PP) и обычно содержит трансформатор.

В этой публикации мы рассмотрим особенности работы однотактных и двухтактных выходных каскадов, узнаем о режимах работы ламп и обсудим применение мощных триодов в однотактных выходных каскадах ламповых усилителей.
Читать дальше →
Total votes 63: ↑62 and ↓1 +61
Comments 38

Вычисляем на видеокартах. Технология OpenCL. Часть 1a. Как работает OpenCL

Reading time 7 min
Views 9.9K
Яндекс Практикум corporate blog High performance *Programming *GPGPU *Video cards
22 июня автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL».



Мы подготовили для вас его текстовую версию, для удобства разбив её на смысловые блоки.

0. Зачем мы здесь собрались. Краткая история GPGPU.
1a. Как работает OpenCL.
1b. Пишем для OpenCL.
2. Алгоритмы в условиях массового параллелизма.
3. Сравнение технологий.

Мы обещали, что разберём написание полноценной программы уже в этой части, но материала оказалось слишком много, и мы разбили эту часть надвое. В первой половине расскажем про основные принципы, которые должен знать каждый OpenCL-разработчик, а во второй напишем программу.

Есть мнение, что для написания эффективного кода для GPU программист обязан понимать архитектуру видеокарты. И это мнение не чьё-нибудь там, а NVIDIA (см. Лекции NVIDIA по GPGPU). Не будем спорить и разберём базовые принципы работы видеокарты.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Comments 9

Вычисляем на видеокартах. Технология OpenCL. Часть 0. Краткая история GPGPU

Reading time 7 min
Views 13K
Яндекс Практикум corporate blog High performance *Programming *GPGPU *Video cards
22 июня автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL».

Мы подготовили для вас его текстовую версию, для удобства разбив её на смысловые блоки.

  • 0 (вводная часть). Зачем мы здесь собрались. Краткая история GPGPU.
  • 1. Пишем для OpenCL.
  • 2. Алгоритмы в условиях массового параллелизма.
  • 3. Сравнение технологий.

Основная цель цикла — написать простую, но полноценную программу на OpenCL и объяснить базовые понятия. Программу на OpenCL напишем уже в следующей части цикла, понять которую можно, не читая вводную. Однако во вводной вы найдёте понятия и тезисы, важные при программировании с OpenCL.

Цикл будет полезен и тем, кто уже знаком с OpenCL: в нём мы поделимся некоторыми хаками и неочевидными наблюдениями из собственного опыта.

CPU — в помойку?


В статье будем рассматривать технологию GPGPU. Разберёмся, что значат все эти буквы. Начнем с последних трёх — GPU. Все знают аббревиатуру CPU — Central Processor Unit, или центральный процессор. А GPU — Graphic Processor Unit. Это графический процессор. Он предназначен для решения графических задач.

Но перед GPU есть ещё буквы GP. Они расшифровываются как General-Purpose. В аббревиатуре опускают словосочетание Computing on. Если собрать всё вместе, получится General-Purpose Computing on Graphic Processor Unit, что по-русски — вычисления общего назначения на графическом процессоре.



То есть процессор графический, но мы почему-то хотим вычислять на нём что-то, что вообще к графике никакого отношения не имеет. Например, прогноз погоды, майнинг биткоинов. Моя задача в ближайшее время — объяснить, зачем нужно на процессоре для графики обучать, например, нейросети.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 29

Вычисляем на видеокартах. Технология OpenCL. Часть 1b. Пишем для OpenCL

Reading time 9 min
Views 6K
Яндекс Практикум corporate blog High performance *Programming *GPGPU *Video cards
22 июня автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL».



После перерыва продолжаем публикацию текстовой версии вебинара.


В этой части мы наконец напишем на OpenCL полноценную программу, которая нарисует красивое изображение.

У программы для OpenCL есть две части: kernel-код и host-код — то, что выполняется на видеокарте, и то, что выполняется на компьютере. Кроме того, программу нужно скомпилировать и запустить. Всё это будет рассмотрено в сегодняшней статье. Начнём с самого интересного — напишем часть kernel.

В предыдущих сериях


Прежде чем начать, напомним основные термины из предыдущей части.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 4

Управление светодиодными индикаторами с помощью регистров сдвига с токовым выходом

Reading time 19 min
Views 16K
Circuit design *Developing for Arduino *Electronics for beginners

Речь в этой статье пойдет о цифровых или цифробуквенных дисплеях для индикации различных показаний, которые часто так и называют индикаторами. Здесь мы остановимся только на одной их разновидности — светодиодных (LED) семисегментнтных индикаторах. На мой взгляд, одна из самых древних разновидностей дисплеев незаслуженно отставлена на периферию разработок, хотя по многим параметрам (контрасту, читаемости, минимальной неиспользуемой площади окна, надежности и долговечности, наконец) LED-семисегментники дают фору любым другим разновидностям, включая ближайших конкурентов в виде OLED.

Читать далее
Total votes 36: ↑35 and ↓1 +34
Comments 37

Открытый проект беспроводной системы сбора данных на модулях 433 МГЦ

Reading time 18 min
Views 12K
Open source *Development of communication systems *Programming microcontrollers *Manufacture and development of electronics *DIY
Tutorial

И еще раз о передатчиках и приемниках 433 МГц. Попробуем как можно проще и дешевле подключить их к ATMEGA8, добиться дальности более 2 км и сделать крипто-защищенную беспроводную сеть-шлюз к 1-Wire сетям сенсоров DS18S20. Для этого привлечем оверсэмплинг, ортогональные сигналы и помощь MATLAB Simulink.

Техническое описание
Total votes 22: ↑22 and ↓0 +22
Comments 16

48 полноценных бесплатных книг для программистов (happy developer's day)

Reading time 2 min
Views 92K
Open source *Programming *.NET *Reading room DevOps *
Tutorial

Привет, Хабр! Немного запоздало (ко дню программиста) делюсь подборкой бесплатных книг по программированию. Все они полезные, уровень скорее профессиональный, хотя и для развития от базового тоже подойдет, но, к сожалению, на английском. Среди тем книг: .NET, Алгоритмы, Android, iOS, Angular, C, C++, C#, JS, Linux, Python. В целом, найдется почти любая тема, которая приходит в голову.

Дисклеймер. Все эти книги взяты с одного ресурса, который существует за счет донейшенов. Получить книги можно без осуществления донейшенов, ресурс полностью бесплатный, пожертвования опциональны. Все книги написаны на основе контента со StackOverflow и являются код-ориентированными. Книги со временем обновляются. По ссылкам -- книги, актуальные на 15.09.2021.

Читать далее
Total votes 100: ↑99 and ↓1 +98
Comments 55

Быстрый, мощный интерфейс на Python

Reading time 15 min
Views 91K
SkillFactory corporate blog Python *Programming *Interfaces *C *
Tutorial
Translation

Dear PyGui принципиально отличается от других фреймворков GUI Python. Рендеринг на GPU, более 70 виджетов, встроенная поддержка асинхронности — это лишь некоторые возможности Dear PyGui. Руководством по работе с этим пакетом делимся к старту курса по разработке на Python.

Читать далее
Total votes 63: ↑60 and ↓3 +57
Comments 47

Крупнейшая коллекция паролей: в сеть выложили файл с 8,4 млрд элементов

Reading time 3 min
Views 29K
Selectel corporate blog Information Security *Research and forecasts in IT *

На днях в сети появился файл объемом в 100 ГБ с 8,4 млрд паролей внутри (8 459 060 239 уникальных записей). Эксперты предполагают, что эти пароли — компиляция предыдущих утечек. Логинов в файле нет, только пароли размером от 6 до 20 символов. Огромное их количество — сложные пароли со спецсимволами. Все они содержатся в одном файле с названием RockYou2021.txt.

Выложил этот файл пользователь с одноименным ником — RockYou2021. Скорее всего, этот ник является отсылкой к утечке 2009 года, которая называлась Rock You. Но та утечка была в разы меньше — в файле, выложенном в 2009 году, содержалось всего 32 млн строк.
Total votes 44: ↑42 and ↓2 +40
Comments 86

Linux-дистрибутивы для анонимной работы в интернете — что нового?

Reading time 7 min
Views 41K
VDSina.ru corporate blog Configuring Linux *Information Security *Open source **nix *


Самый известный из секьюрных дистрибутивов — Tails, он выпускается с 2009 года. Там всё привычно и знакомо: вставил флэшку, загрузился, поработал, почистил RAM за собой. При этом периодически появляются альтернативные решения, такие как Whonix, Qubes OS или совсем новый дистрибутив Obscurix.

Личная безопасность — не та сфера, где следят за модой. Это не какое-то хобби, мобильная разработка или дизайн, здесь речь о сохранении жизни и свободы. Нововведения — не дань эстетике или комфорту, а попытка обеспечить ещё более надёжную защиту.
Total votes 43: ↑43 and ↓0 +43
Comments 19

И снова CSR8645, или «надоело чинить провода»

Reading time 10 min
Views 35K
Wireless technologies *DIY Sound
Sandbox

В далеком-недалеком 2019, в очередной раз повредив провод от своих проводных наушников, чинить/менять его в 100 и 1 раз стало уже лень. И как обычно в таких случаях, прошелся по сайтам магазинов в поисках новых.

Тем бы история и закончилась, но так случилось, что один мой хороший знакомый предложил в тот момент перебраться в мир беспроводного аудио. Да и не просто так перебраться, а в стиле DIY, что показалось все-таки интересным.

Ну а время спустя, одним долгим зимним вечером появилась идея оформить итоги этого всего в более-менее подробный пост.

Читать
Total votes 29: ↑28 and ↓1 +27
Comments 47

Intel опять обновила микрокод всех процессоров

Reading time 3 min
Views 13K
Дата-центр «Миран» corporate blog Information Security *Development for Windows *Computer hardware CPU


Первые 192 байта старого недокументированного апдейта с микрокодом для Core i5 M460. Красным подсвечен номер ревизии, жёлтым — дата выпуска, зелёным — размер апдейта (в 4-байтовых словах), синим — подпись процессора

26 января 2021 года Microsoft выпустила набор обновлений микрокода для процессоров Intel под операционные системы Windows 10 20H2, 2004, 1909 и более старых версий, вплоть до 1507, а также для Windows Server.

Обычно такие апдейты закрывают возможность эксплуатации серьёзных аппаратных уязвимостей в CPU, таких как Spectre, Meltdown, Microarchitectural Data Sampling (MDS) и Platypus. По традиции, микрокод Intel не документируется. В прошлом специалисты пытались провести реверс-инжиниринг.

Intel подготовила микрокод и направила разработчикам операционных систем, чтобы закрыть или снизить ущерб от этих уязвимостей. В данном случае апдейт опциональный и «производит откат к обновлениям микрокода, которые закрывают уязвимости Spectre Variant 3a (CVE-2018-3640: "Rogue System Register Read (RSRE)"), Spectre Variant 4 (CVE-2018-3639: "Speculative Store Bypass (SSB)") и L1TF (CVE-2018-3620, CVE-2018-3646: "L1 Terminal Fault")».
Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Comments 7

Телефонное мошенничество – по горячим следам

Reading time 5 min
Views 130K
Spamming and anti-spamming Information Security *
Намедни моих тестя и тещу телефонные мошенники развели на 350 000 (триста пятьдесят тысяч) рублей. Я не смог им помешать, хотя очень пытался, и деньги заслуженных пенсионеров пополнили общак в какой-нибудь колонии под Челябинском, зато у меня получилось по горячим следам получить ответы на вопросы, которые интересовали меня, когда я читал подобные истории в интернете.

И я хочу поделится этим сокровенным, даже можно сказать — дорогостоящим, знанием с вами.

Добро пожаловать под кат!
Читать дальше →
Total votes 184: ↑169 and ↓15 +154
Comments 703

Как удалить «неудаляемые» приложения со смартфона

Reading time 5 min
Views 211K
VDSina.ru corporate blog Development for Android *Smartphones Software


Чтобы увеличить привлекательность смартфонов, производители ставят на них как можно больше разных программ. Это понятно. Просто берём и удаляем ненужное… Стоп.

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →
Total votes 190: ↑179 and ↓11 +168
Comments 202

Как делают вакцины

Reading time 15 min
Views 38K
Leader-ID corporate blog Popular science Biotechnologies Health Chemistry

Появление векторной вакцины Sputnik V внесло некоторую сумятицу в типичное представление о вакцинах как о некой дозе ослабленных или дезактивированных патогенов, внедренных для тренировки иммунитета. Еще больше вопросов породил тот факт, что именно векторная вакцина появилась первой, а более простые и привычные варианты подоспели позднее. Ну и вопрос на засыпку: в чем проблема налаживания выпуска всех этих вакцин и почему в массовом доступе они только начинают появляться?

Под катом — расшифровка лекции специалиста по промышленным биотехнологиям, которая прошла при поддержке ярославской Точки при ЯрГУ. В ней — подробно о типах вакцин, механизмах их работы и способах массового производства.

Читать далее
Total votes 46: ↑45 and ↓1 +44
Comments 23

Квантовые вычисления и язык Q# для начинающих

Reading time 13 min
Views 73K
Microsoft corporate blog Open source *Programming *C# *Mathematics *
Tutorial
Translation
Возможно, вы узнали о выпуске пакета средств квантовой разработки Quantum Development Kit и подумали, что это звучит безумно круто… а потом вспомнили, что про квантовую механику почти ничего не знаете. Но ничего страшного. Через 30 минут вы будете знать о кубитах, суперпозиции и квантовой запутанности достаточно, чтобы написать свою первую программу и, что более важно, неплохо понимать, что она делает.

Читать дальше →
Total votes 50: ↑48 and ↓2 +46
Comments 21

Information

Rating
Does not participate
Registered
Activity