Обновить
1
Alexander Stellove@AlLSTLread⁠-⁠only

Software Engineer

Отправить сообщение

Что читать о нейросетях

Время на прочтение6 мин
Охват и читатели139K


Нейросети переживают второй Ренессанс. Сначала еще казалось, что сообщество, решив несколько прикладных задач, быстро переключится на другую модную тему. Сейчас очевидно, что спада интереса к нейросетям в ближайшем будущем не предвидится. Исследователи находят новые способы применения технологий, а следом появляются стартапы, использующие в продукте нейронные сети.


Стоит ли изучать нейросети не специалистам в области машинного обучения? Каждый для себя ответит на этот вопрос сам. Мы же посмотрим на ситуацию с другой стороны — что делать разработчикам (и всем остальным), которые хотят больше знать про методы распознавания образов, дискриминантный анализ, методы кластеризации и другие занимательные вещи, но не хотят расходовать на эту задачу лишние ресурсы.


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

Читать дальше →

Прямая передача данных между ПЛИС Virtex-7 по шине PCI Express

Время на прочтение21 мин
Охват и читатели28K

Аннотация


В данной статье рассматривается передача данных по шине PCI Express с одновременным участием нескольких ПЛИС. В компьютерной системе, к PCI Express шине которой подключено несколько (в нашем случае 8) оконечных устройств (PCIe endpoints) ПЛИС запускается одновременно несколько транзакций передачи данных двух типов: А) DMA передача между ОЗУ и ПЛИС (чтение/запись) и Б) прямая передача данных между двумя ПЛИС (запись). Используя соединение PCI Express x4 Gen 2.0 при обращении в память была получена скорость записи 1451 МБ/с (90% от максимальной). Скорость записи данных между ПЛИС была равна 1603 МБ/с (99 % от максимальной) при длине пакетов 128 байт и 1740 МБ/с (99% от максимальной) при длине пакета 256 байт. Латентность передачи данных между ПЛИС зависит от количества промежуточных коммутаторов, и была равна 0,7 мкс для одного коммутатора и 1 мкс для трех. Также показано, что при одновременных передачах через общий канал скорость отдельных передач не уменьшается до тех пор, пока суммарная скорость передачи не превышает пропускную способность общего канала; затем канал используется на 100%, а его пропускная способность делится поровну между устройствами.
Читать дальше →

Особенности оконной фильтрации на ПЛИС

Время на прочтение11 мин
Охват и читатели22K
Всем привет! В этой статье речь пойдет об одной важной части цифровой обработки сигналов — оконной фильтрации сигналов, в частности на ПЛИС. В статье будут показаны способы проектирования классических окон стандартной длины и «длинных» окон от 64K до 16M+ отсчетов. Основной язык разработки — VHDL, элементная база — современные кристаллы FPGA Xilinx последних семейств: это Ultrascale, Ultrascale+, 7-series. В статье будет показана реализация CORDIC — базового ядра для конфигурации оконных функций любой длительности, а также основных оконных функций. В статье рассмотрен метод проектирования с помощью языков высокого уровня С/C++ в Vivado HLS. Как обычно, в конце статьи вы найдете ссылку на исходные коды проекта.

КДПВ: типичная схема прохождения сигнала через узлы ЦОС для задач анализа спектра.


Читать дальше →

Разработка собственного ядра для встраивания в процессорную систему на базе ПЛИС

Время на прочтение11 мин
Охват и читатели6.9K


Итак, в первой статье цикла говорилось, что для управления нашим оборудованием, реализованным средствами ПЛИС, для комплекса Redd лучше всего использовать процессорную систему, после чего на протяжении первой и второй статей показывалось, как эту систему сделать. Хорошо, она сделана, мы даже можем выбирать какие-то готовые ядра из списка, чтобы включить их в неё, но конечная цель — именно управлять нашими собственными нестандартными ядрами. Пришла пора рассмотреть, как включить в процессорную систему произвольное ядро.
Читать дальше →

Django 3.0 будет асинхронным

Время на прочтение29 мин
Охват и читатели30K

Andrew Godwin опубликовал DEP 0009: Async-capable Django 9 мая, а 21 июля он был принят техническим советом Django, так что можно надеяться, что к выходу Django 3.0 успеют сделать что-нибудь интересное. Он уже упоминался где-то в комментариях Хабра, но я решил донести эту новость до более широкой аудитории путём его перевода — в первую очередь для тех, кто, как и я, не особо следит за новостями Django.



Асинхронный Python разрабатывался много лет, и в экосистеме Django мы экспериментировали с ним в Channels с ориентацией в первую очередь на поддержку вебсокетов.


По мере развития экосистемы стало очевидно, что, хотя нет насущной необходимости расширять Django для поддержки отличных от HTTP протоколов, таких как вебсокеты, поддержка асинхронности даст много преимуществ для традиционной model-view-template структуры Django.


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

Первое, что нужно сделать, запуская проект на Django

Время на прочтение4 мин
Охват и читатели34K
Приветствую сообщество, встала передо мной задача написать социальную сеть. А коль скоро язык программирования, которым я более-менее владею — это Python, я выбрал фреймворк Django для реализации проекта. Чтобы не тратить время на написание HTML шаблонов и CSS стилей, эти файлы я беру в интернете с пометкой Free. В основном это шаблоны от Colorlib.

Поехали.

Сразу оговорюсь, что использую PyCharm, поэтому могу не знать все команды из файла manage.py.
Читать дальше →

Тренировочный лагерь по схемотехнике для танков и закладкам в процессоры

Время на прочтение5 мин
Охват и читатели8.1K
В апреле был роснановский семинар по современной схемотехнике для школьников олимпиадного типа. После него группа организаторов собралась в фойе и долго ломала голову, как сделать предмет более интересным и при этом полезным. Чтобы ввести Verilog и ПЛИС например в формат Олимпиад НТИ. Было решено отказаться от математически интересных, но несколько абстрактных для школьника задач типа протоколов когерентности кэшей в многопроцессорных системах. Также не вызвала особого энтузиазма идея автоматической теплицы с датчиками, так как ее сто раз реализовали на ардуино и STM32, и ПЛИС-ы не добавляют в теплицы ничего интересного.

И вдруг — Эврика! А если проводить соревнования по графическим играми, сделанных на чистой схемотехнике, без программирования, как делали игры типа Пин-Понг наши предки во времена Брежнева и Картера. И проводить не на древних микросхемах К561, а на современных Xilinx и Altera (то бишь Intel FPGA) и с использованием тех же технологий проектирования на уровне регистровых передач, которые используют проектировщики в Apple, Intel и SpaceX.

Короче, мы этим займемся в 8-26 июля на летней школе в Зеленограде. Часть школы, о плане которой пойдет речь в этом пост, посвящена основам цифровой схемотехники, первым шагам в архитектуру и микроархитектуру процессоров, а также (даже скорее в основном) аппаратной компьютерной графике.

Я попробую привезти в Зеленоград в качестве помощницы свою дочь-студентку Элизабет, если она вовремя получит паспорт и российскую визу. Элизабет, будучи русско-украинско-японкой, владеет только английским. Вот в Зеленограде и выучит основы русского. А заодно научит правильному английскому произношению инструкторов, которые готовы помочь на школе (необязательно из МИЭТ, можно из МФТИ, МГУ, МИФИ):


Отчет с завтрака с Чарльзом Уэзереллом, автором культовой книги «Этюды для программистов»

Время на прочтение6 мин
Охват и читатели11K
Завтрак с Чарльзом Уэзереллом, автором культовой книги «Этюды для программистов», затянулся на четыре часа. В конце-концов официантка попросила нас из ресторана в Пало-Альто, сказав что в ресторан большая очередь, а мы тут с восьми утра заседаем. За это время мы обсудили массу интересных вещий: работу Чарльза в Ливерморской лаборатории и Оракле, объектно-ориентированное и функциональное программирование, компиляторы и языки описания аппаратуры, закладки в процессоры, неэффективность нейронных сетей и незаслуженно забытый Пролог, посещение Чарльзом России, обработку текста конечным автоматом в аппаратном сопроцессоре и создание школьниками видеоигр на ПЛИС.



Содержания четырех часов с Чарльзом Уэзереллом хватит для пятидесяти статей на Хабре, поэтому перечислю в основном темы, после чего приведу некоторые детали про три из них:
Читать дальше →

Разработка простейшей «прошивки» для ПЛИС, установленной в Redd. Часть 2. Программный код

Время на прочтение7 мин
Охват и читатели7.1K
Итак, в прошлой статье мы разработали простейшую процессорную систему, с помощью которой планируем провести тест микросхемы ОЗУ, подключённой к ПЛИС комплекса Redd. Сегодня же мы сделаем для этой аппаратной среды программу на языке С++, а также разберёмся, как эту программу вливать, а главное — отлаживать.


Читать дальше →

Разработка программ для центрального процессора Redd на примере доступа к ПЛИС

Время на прочтение14 мин
Охват и читатели3.9K
В прошлой статье я сказал, что нам пора переходить к потоковым протоколам. Но начав подготовку рассказа о них, я понял, что сам плаваю в одной очень важной теме. Как уже отмечалось, у меня с Линуксом достаточно своеобразные отношения. В общем, я понял, что сам не могу создать с нуля приложение на С++, которое удовлетворяло бы всем принципам программирования для Redd. Можно было бы попросить кого-то сделать это, а затем просто воспользоваться готовым шаблоном, но цикл статей призван научить всех вести разработку под Redd с нуля. Поэтому я попросил своего начальника (большого специалиста по Линуксу), и он разъяснил мне, что за чем нажимать. Затем я чуть переосмыслил его слова и теперь считаю нужным зафиксировать все знания письменно. Это избавит таких, как я, от мучительных раздумий: «Так… Что он сделал – понятно, но как мне это повторить?». В общем, кто работает под Линуксом, можете пробежать следующие два раздела по диагонали. Вряд ли вы найдёте там что-то новое (дальше – найдёте). А остальным я предлагаю на выбор две методики разработки, которые соответствуют декларируемым принципам работы под Redd: низкие трудозатраты на разработку и удалённая отладка.


Читать дальше →

Как я не готовился и провел роснановский семинар по ПЛИС-ам в Москве. Планы сделать то же в Лас-Вегасе и Зеленограде

Время на прочтение15 мин
Охват и читатели7.5K
У вас бывает такой сон: вы оказываетесь на экзамене или выступаете перед некоторой аудиторией, и вдруг осознаете, что вы вообще не готовились и сейчас прийдется импровизировать. Именно в такой ситуации, но не во сне, а в реале, я оказался перед майскими праздниками в Москве, куда прилетел из Калифорнии, чтобы провести трехдневный семинар для тщательно отобранных школьников ведущих московских физматшкол. Под эгидой РОСНАНО, в гимназии РУТ (МИИТ) и в присутствии преподавателей из МИЭТ, МИРЭА, МИФИ, МЭИ и ВШЭ МИЭМ.

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

Поэтому я взял некий универсальный пример, который написал полтора года назад, сидя в самолете Алма-Ата — Астана, выкинул из примера все внутренности и начал со школьниками его наполнять, без жесткого плана чем. И как ни странно — это получилось. В процессе наполнения возникли поучительные моменты цифровой схемотехники и языка описания аппаратуры Verilog, которые при планировании бы не возникли.

4 июня я с коллегами по Wave Computing провожу похожий семинар в Лас-Вегасе, но только для взрослых, а 8-19 июля помогаю МИЭТ провести летнюю школу в Зеленограде. Планы этих мероприятий (не окончательные, а для обсуждения в группе преподавателей и инженеров, в том числе здесь, на Хабре) — в конце поста.


Видео-туториалы запуска вычислительных задач на Python, R, С++, Octave и Blender во FlyElephant

Время на прочтение1 мин
Охват и читатели8.8K
Пару недель назад, наша команда выпустила свежий релиз FlyElephant — платформа для ученых, которая предоставляет готовую вычислительную инфраструктуру для проведения расчетов, помогает находить партнеров и совместно работать над проектами, а также управлять всеми данными из одного места.

В качестве вычислительного ресурса сейчас используется облако Azure, а пользователи могут запускать вычислительные задачи, написанные с помощью С++ (с поддержкой OpenMP), R, Python, Octave, Scilab, Java, Julia, OpenFOAM, GROMACS, Blender на серверах с количеством ядер от 1 до 32 и оперативной памятью до 448 ГБ.

Сегодня мы хотим поделиться видео-туториалсами запуска задач во FlyElephant. Под катом вы найдете видео, как запускать вычислительные задачи, написанные с помощью С++, R, Python, Octave и рендерить изображения с помощью Blender, а также промо-код для получения бесплатных дополнительных часов работы ваших задач.
Читать дальше →

Быть ментором

Время на прочтение6 мин
Охват и читатели9.5K
Встречали ли вы людей, которые при первой же трудности не пытаются преодолеть ее самостоятельно, а бегут к более опытному товарищу за помощью? Старший коллега подсказывает решение, и вроде бы все довольны, но старший отвлекся, а младший не заработал собственный опыт.



А еще есть люди, которые, казалось бы, отличные специалисты и профессионалы. Но у них низкая профессиональная самооценка и они боятся брать на себя больше, чем есть сейчас. А есть еще люди, которые тяжело усваивают новую информацию, им необходимо все рисовать квадратиками и стрелочками, а то и не раз. И не два.

Этих людей часто объединяет то, что в свое время им попался плохой учитель в школе или плохой ментор уже на карьерном пути.

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

Самоконтроль времени на самообразование и время на чтение книг

Время на прочтение4 мин
Охват и читатели14K
Работа программистом предполагает постоянное обязательное самообучение. Самообучение включает в себя, во-первых, углубление знаний в уже знакомых сферах, и, во-вторых, получение навыков в неизвестных и пропущенных областях. Это всё, конечно, красиво звучит на бумаге, но по факту мы ещё имеем приступы лени, застревания в стеке технологий и выгорание от рутины. Новые ощущения помогают в борьбе с тёмной стороной разработки. Вот только ощущения должны быть действительно новыми: разбираться в десятый раз с нюансами «новых» api от очередной социалки быстро становится завуалированной рутиной.


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

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

4 толковых канала на Youtube про технические собеседования

Время на прочтение4 мин
Охват и читатели31K
Смотрю разные каналы ребят, которые проходят/проводят интервью в крупных компаниях и рассказывают про это. На русском прям что-то крутое не попадалось, но вот личный топ каналов на английском:


Читать дальше →

Как написать хорошее резюме для удаленной работы в зарубежной компании

Время на прочтение4 мин
Охват и читатели19K


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

7 карьерных ошибок молодых специалистов

Время на прочтение4 мин
Охват и читатели15K
image

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

1. Ничего не делать до окончания ВУЗа

Диплом престижного ВУЗа – не самая заметная строчка в резюме, а свой высокий потенциал вообще трудно продемонстрировать на бумаге. В настоящем бизнесе в первую очередь ценят опыт. Карьерная ошибка номер один — откладывать его приобретение и надеяться, что ты найдешь классную работу, имея за плечами только теоретическую подготовку. Правда в том, что в схватке за хорошую должность победит тертый калач с реализованными проектами за плечами. Или твой одногруппник, который, едва не заваливая все экзамены, после пар пропадал на стажировках и написал об этом в резюме. Поэтому начинай готовить сани еще с младших курсов – ищи стажировки, участвуй в кейс-чемпионатах, студенческих проектах своего ВУЗа. Ищи возможности получить реальный опыт работы и не попасть в те 92% студентов, которые никак не могут устроиться на хорошую работу из-за его отсутствия.

Читать дальше →

Подкасты о Python: вот все, что мы нашли

Время на прочтение4 мин
Охват и читатели29K
image

Запрос “Алиса, что послушать о Python”, заданный Гуглу, скорее всего приведет вас в ступор, на статьи многолетней давности, которые не очень актуальны, либо на давно закрытые темы, которые просто нельзя (или некому) обновить.

Так и родилась идея сделать список тематических аудио-видео-кастов и постараться поддерживать его в актуальном виде. Хотя бы год. Если вы читаете это в 2020-м, тоже стучитесь в личку или пишите о своем подкасте в комментарии — добавим.

13 подкастов и немного Испании

Новые техпроцессы для производства микросхем все чаще откладывают — почему?

Время на прочтение5 мин
Охват и читатели53K
В конце августа производитель полупроводниковых интегральных микросхем GlobalFoundries (работает с AMD) прекратил разработку 7-нанометровых техпроцессов. За несколько месяцев до этого компания Intel объявила, что вновь откладывает выпуск своего 10-нанометрового чипа.

О причинах этих решений и ситуации в индустрии, рассказываем дальше.

Читать дальше →

Сумбурные заметки про python и django

Время на прочтение5 мин
Охват и читатели47K
Накопилось несколько маленьких заметок/советов про python и django, которые на отдельные топики не тянут, поэтому публикую все сразу.

Под катом:
  • как упростить код вьюх ровно в 2 раза
  • легкий способ рисования графиков
  • почему Ian Bicking воскликнул «Cool!»
  • приложения для ВКонтакте на django за 5 минут
  • хорош ли pymorphy?
  • пара фишек насчет выкладки пакетов на pypi
  • что общего между декораторами и with-контекст-менеджерами
  • принимаем оплату на django-сайтах
  • показываем Яндекс.Карту для заданного адреса

Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность