Как стать автором
Поиск
Написать публикацию
Обновить
2
0

Инженер-программист

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

Релокация на машине в Армению

Время на прочтение14 мин
Количество просмотров62K

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

Для тех кто заинтересовался

Мультиклеточная архитектура: тесты и развитие

Время на прочтение8 мин
Количество просмотров8K

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

«Мультиклеточный процессор — это что?»

«Мультиклет R1 — первые тесты»

«Компилятор С/С++ на базе LLVM для мультиклеточных процессоров: быть или не быть?»

«Перспектива: MultiClet S1»

«Развитие компилятора C для нового мультиклета-нейропроцессора»

Первое, что необходимо сказать, – Мультиклет концептуально переходит от разработки отдельных процессоров к разработке мультиклеточной платформы на основе MultiClet B – базового элемента, состоящего из 4 клеток.  

Читать далее

Развитие компилятора C для нового мультиклета-нейропроцессора

Время на прочтение9 мин
Количество просмотров4.3K


На конференции разработчиков системного и инструментального ПО – OS DAY 2016, которая прошла в г. Иннополис 9-10 июня 2016 (Казань) при обсуждении доклада о мультиклеточной архитектуре была высказана мысль, что она будет наиболее эффективной при решении задач искусственного интеллекта. Условия для разработки нового процессора общего назначения, ориентированного на задачи ИИ, сложились в текущем году.

Нейропроцессор Мультиклет S2, проект которого был впервые представлен на Huawei Innovation Forum 2019 является дальнейшим развитием мультиклеточной архитектуры. От ранее созданных мультиклетов он отличается системой команд, а именно вводом новых типов малоразмерных данных (с фиксированной и плавающей запятой) и операций с ними. Увеличено количество клеток – 256 и частота – 2,5 ГГц, что должно обеспечить пиковую производительность 81,9 TФлопс на 16F и, соответственно, сделать его сравнимым, в части нейровычислений, с возможностями современных специализированных ASIC TPU (TPU-3: 90 Тфлопс на 16F).

Так как эффективность использования процессоров в значительной мере зависит от оптимальности компилятора разработана развиваемая схема оптимизации кода.
Рассмотрим ее более подробно.
Читать дальше →

Перспектива: MultiClet S1

Время на прочтение16 мин
Количество просмотров18K


Итак, пришло время поговорить о следующем поколении мультиклеточных процессоров: MultiClet S1. Если вы впервые слышите о них, то обязательно ознакомьтесь с историей и идеологией архитектуры в этих статьях:


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

Мультиклеточный процессор — это что?

Время на прочтение18 мин
Количество просмотров52K
Многие слышали о мультиклеточной архитектуре, процессорах и даже первых устройствах на них. Особенно продвинутые пользователи опробовали свои алгоритмы. Были проведены первые простые тесты производительности, а также пользователь Barsmonster, вытравил кристалл процессора Р1. Сейчас уже проходит первые проверки процессор R1 и скоро будет доступен всем. Но ответ на вопрос о том, как работает мультиклеточная архитектура и в чём её отличие, знают не все. Попытаемся сейчас ввести в курс дела.
Читать дальше →

Мультиклет R1 — первые тесты

Время на прочтение10 мин
Количество просмотров76K
     Время идёт, и мультиклеточный процессор продолжает расти, развиваться. Пока, правда, не размножается, и состоит всего из 4-х клеток, но это все у него впереди. В данной статье попытаюсь описать основные особенности нового процессора Мультиклет R1, его характеристики и функционал, а также сравнить процессор нового поколения с родоначальником династии — процессором Мультиклет P1.
     Кратко пробежимся по историческим моментам выпуска процессоров, заглянем ненадолго в теоретические основы работы наших процессоров, обратим внимание на особенности нового процессора и его основные возможности, сравним процессоры P1 и R1, покажем прототип первого продукта на R1, и в завершении сделаем небольшой анонс.


Рис 1. Кремниевая пластина процессоров R1
Читать дальше →

Мультиклеты: влияние реконфигурации на бенчмарки и задачи майнинга

Время на прочтение12 мин
Количество просмотров3K

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

Как известно, физические и технологические ограничения, объективно существующие при проектировании и изготовлении новых микропроцессоров, постепенно перешли из теоретической в практическую плоскость. Планарные транзисторы перестали уменьшаться в 2D размерах и стали переходить в 3D измерение. Расстояния на чипе стали ограничивать тактовую частоту, а размеры чипа привели к тому, что на пластине годным стало считаться то, что хоть как-то работает. При этом, микропроцессоры стали напоминать ламповые компьютеры 60-х годов прошлого века, на корпусе которых можно было жарить яичницу.

Сегодня большинство бенчмарков процессоров, в первую очередь, оценивают производительность. Насколько быстро рисуется картинка на дисплее, насколько быстро перемножаются матрицы или как быстро осуществляется поиск в базе данных. Это, безусловно, важно. Но почему-то мало кто задается вопросом, насколько это оптимально. Может быть, лучше увеличить время решения на 10% и при этом уменьшить энергопотребление на 50%?

Читать далее

Как изменилась стандартная библиотека Python за последние годы

Время на прочтение10 мин
Количество просмотров24K

Python 3.8+


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


Остальным модулям стандартной библиотеки достается незаслуженно мало внимания. Хочу это исправить и рассказать, что интересного появилось в версиях 3.8–3.10.

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

Смарт-карты: особенности протокола T=0 и на что они влияют

Время на прочтение7 мин
Количество просмотров5.8K

Когда начинаешь изучать смарт карты, то все выглядит достаточно понятно и логично: команды APDU несложны и описаны в ISO 7816-4, интерфейс winscard описан в MSDN. В глубины PCSC погружаться особо и не приходится. Первые программы можно написать довольно быстро. Непонятные особенности вылезают чуть позже, и выясняется, что известные два протокола T=0 и T=1 на самом деле совсем разные протоколы, и они просто похожи друг на друга. Поначалу возникает соблазн работать с ними одинаково, а это может доставить много хлопот вплоть до сбоя коммуникации в самый неожиданный момент.

Читать далее

Фаззинг Linux через WTF

Время на прочтение8 мин
Количество просмотров4.6K

Недавно появился фаззер What The Fuzz, который (кроме названия) интересен тем, что это:


  • blackbox фаззер;
  • snapshot-based фаззер.

То есть он может исследовать бинарь без исходников на любом интересном участке кода.


Например, сам автор фаззера натравил WTF на Ida Pro и нашел там кучу багов. Благодаря подходу с snapshot'ами, WTF умеет работать с самыми тяжелыми приложениями.


Ключевые особенности WTF, на которые стоит обратить внимание:


  • работает только с бинарями под x86;
  • запустить фаззинг можно и на Linux, и на Windows;
  • исследуемым бинарем может быть только бинарь под Windows.

Получается, нельзя фаззить ELF?


На самом деле, можно. Просто нет инструкции, как сделать snapshot для Linux. Все-таки главная мишень — это программы для Windows.


Эта статья появилась из желания обойти это ограничение.

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

Как изучить SQL за ночь или шпаргалка для системного аналитика

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров179K

Помните, как вы были студентами, и готовились к экзаменам по ночам?

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

Изучите теорию на примерах и закрепите на 13 практических задачах по SQL.

Читать далее

Что означает информация в заметке Коммерсанта «Британия морозит «Байкал»

Время на прочтение10 мин
Количество просмотров49K

Газета "Коммерсантъ" опубликовала важный материал "Британия морозит «Байкал». Российские процессоры лишаются доступа к технологиям". К сожалению, авторы заметки никогда не видели то, о чем они написали, то бишь semiconductor IP, и не понимают его природы. Зато его видел я. Поэтому я решил написать к их заметке своего рода толкование:

1. Что именно британские компании ARM и Imagination продают российским лицензиатам, таким как Байкал? (Спойлер: не патенты, хотя патенты в картину входят)

2. Чем Apple отличается от Байкала в лицензировании semiconductor IP?

3. Сколько стоят лицензии на ядра и сколько стоит архитектурная лицензия?

4. Как компания-разработчик semiconductor IP может обнаружить, что произведенный кем-то чип использует ее ядро?

5. Были ли прецеденты подобных высоких отношений с китайскими компаниями?

6. Почему в статье упоминается МЦСТ (Эльбрус)? Они же вроде сами спроектировали CPU собственной архитектуры? (Спойлер: а GPU?)

7. Могут ли британские патенты стать проблемой для разработчиков российcких ядер с архитектурой RISC-V?

8. Что логично ожидать от российских полупроводниковых стратегов?

Читать далее

Матчинг шаблона в Python 3.10

Время на прочтение3 мин
Количество просмотров7.6K

В Python 3.10 имплементирован своего рода оператор switch — что-то вроде него. Оператор switch в других языках, таких как C или Java, выполняет простой матчинг значения переменной и исполняет код в зависимости от этой величины.

Он может использоваться просто, как обычный оператор switch, но способен на гораздо большее.

Возможно, этого было бы достаточно для языка C, но ведь речь о Python, а в Python 3.10 реализована гораздо более мощная и гибкая конструкция, называемая структурным сопоставлением шаблона. Она может использоваться как простой оператор switch, но способна на гораздо большее.

Давайте рассмотрим несложный пример с оператором switch. Ниже приведен сниппет, который осуществляет выбор одного значения. Мы проверим его, запустив в цикле со значениями 1,2,3 и 4.

Читать далее

Электроника, растущая на дереве: целлюлозный нановолоконный полупроводник

Время на прочтение13 мин
Количество просмотров3.9K


Совершенствование электроники часто связано с применением нестандартных компонентов, а также материалов, из которых они изготовляются. Выбор используемого материала зачастую зависит от его свойств, но если они не совпадают с требованиями ученых и инженеров, то их можно скорректировать. Иногда этот процесс напоминает самую настоящую алхимию, когда из одного делают совершенно другое, кардинально меняя его свойства. Группа ученых из университетов Осаки, Токио, Кюсю и Окаямы (Япония) разработала новый тип полупроводника из совершенно непроводящего материала — наноцеллюлозную бумагу. Из чего состоит новый полупроводник, как именно он создавался, и где его можно будет применять? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Читать дальше →

PocketReform: модульный миниатюрный open-source компьютер с Linux на борту

Время на прочтение4 мин
Количество просмотров17K

Мы неоднократно писали о модульных ноутбуках разных компаний и комьюнити. Один из наиболее примечательных — GPD Pocket 3, достаточно мощный девайс со сменными модулями портов. На данный момент разработчики предлагают RS-232, а также KVM-модуль с HDMI и USB-портами, плюс модуль карт-ридера и 4G-модема.

Еще один примечательный ноутбук — MNT Reform от одноименной компании. Его назвали «ноутбуком для параноиков», поскольку девайс позволяет физически отключать модули связи. Плюс к материнской плате можно подключать систему на модуле с процессором, видеочипом и ЗУ. В прошлом году девайс стали рассылать заказчикам, а теперь производитель создал еще одно устройство, которое получило название PocketReform.
Читать дальше →

Компьютерная археология

Время на прочтение9 мин
Количество просмотров4.9K

Здравствуй, Хабр!

Заметка для любителей «винтажа», для тех, кто интересуется историей миникомпьютеров. В преддверии новой эры устройств IoT - HummingBoard Pro на процессоре Freescale i.MX6 Quad и с дизайном Raspberry Pi 1 Model B. Особенности и попытка добиться низкого энергопотребления (и даже меньше!), сравнимого с Raspberry Pi 3А+.

Читать далее

manifest.json подводные камни

Время на прочтение3 мин
Количество просмотров6.2K

Установка расширения в браузер возможна благодаря такой замечательной штуке, как manifest.json. Но что он может скрывать и почему важно изучать (по возможности) манифест перед установкой. Сегодня мы это разберем!

Читать далее

Исключительно быстрая валидация UTF-8

Время на прочтение4 мин
Количество просмотров9.4K
Текстовая строка — один из самых распространённых «типов данных» в программировании. Когда программисты думают о строке, то представляют список или массив символов. Это «достаточно хорошее» приближение, но реальность сложнее.

Символы должны быть каким-то образом закодированы в биты. Большинство строк в интернете, включая этот пост на Хабре, закодированы в UTF-8. Формат UTF-8 представляет «символы» в одном, двух, трёх или четырёх байтах. Это обобщение для стандарта ASCII, использующего только один байт на символ. То есть строка ASCII также является строкой UTF-8.

На самом деле всё немного сложнее, потому что технически UTF-8 описывает кодовые точки. Видимый символ типа эмодзи может состоять из нескольких кодовых точек… но большинству программистов эти педантичные формулировки не нужны.
Читать дальше →

Битва «Титанов». Сравнение двух лучших отечественных сканеров уязвимостей. MaxPatrol 8 и RedCheck Enterprise

Время на прочтение13 мин
Количество просмотров29K

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

Обычно на вопрос "Какой сканер безопасности купить?" вспоминаются лишь OpenVas и Nessus (Tenable). Но есть и другие достойные отечественные продукты, о которых мы сегодня и поговорим – это продукты для корпоративного сегмента, полностью лицензированные под все российские требования безопасности и имеющие сертификаты ФСТЭК и ФСБ:

MaxPatrol 8 от Positive Technologies 

RedCheck Enterprise от Алтэкс Софт 

Читать далее

Единый математический язык для физики и инженерного искусства в 21 веке

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров15K

Конец 18-го и 19-й век были временем колоссального прогресса в математике. Величайшие умы тысячелетия вводили все новые математические системы и языки, такие как алгебры Клиффорда и Грассмана. Хотя эти алгебры вызвали значительный интерес, в то время они воспринимались как подспорье более прямолинейной и более общеприменимой векторной алгебры Гиббса. Это было фактически концом поисков объединяющего математического языка и началом распространения новых алгебраических систем, создаваемых по мере необходимости; например, спинорная алгебра, матричная и тензорная алгебры, дифференциальные формы и т. д.

В этой статье мы реализуем возрождение алгебр Клифорда и Грассмана в виде структуры, известной как геометрическая алгебра (ГА). Это понятие было впервые введено в середине 1960-х годов американским физиком и математиком Дэвидом Хестенсом. Прошло 40 лет, но есть признаки того, что его утверждение о том, что ГА является универсальным языком для физики и математики, теперь начинает принимать все более явственные очертания. Во всем мире растет число групп, которые применяют ГА к целому ряду проблем из многих научных областей, обеспечивая чрезвычайно мощную математическую структуру, в которой могут быть выражены самые передовые концепции квантовой механики, теории относительности, электромагнетизма и т. д. При этом, утверждается, что ГА также достаточно проста для преподавания школьникам! В этой статье мы рассмотрим развитие и недавний прогресс ГА и обсудим, действительно ли она является объединяющим языком для физики и математики 21-го века. Примеры, которые мы будем использовать для иллюстрации, будут взяты из ряда областей физики и техники.

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность