Pull to refresh
2
0
kursg @KurSh

User

Send message

Когда Atom быстрее чем Core?

Reading time4 min
Views68K
Наглухо застряв в пробке за рулем машины, теоретически способной развивать скорость более 200 км\ч, и глядя, как меня обгоняют велосипедисты на трехколесных велосипедах, я задумалась… нет, не о том, как пересадить всех на велосипеды, и не о решении транспортных проблем человечества с помощью телепортации, а… о процессорах Intel Core и Intel Atom. А именно — Atom по сравнению с Core — это, фактически, мотороллер по сравнению с автомобилем. Он потребляет меньше топлива и стоит заметно дешевле. Но зато и скорость скутера столь же заметно уступает авто (несмотря даже на способы «разогнать» мотороллер выше заводских установок). Но, все же, в пробках или на узких улочках скутер оказывается быстрее. Недаром скутер получил свое название от английского «to scoot» — удирать, так как успешно использовался английскими подростками для спасения от полиции.
Теперь вернемся к CPU. Заменим «топливо» на «электричество», а «скорость» на «производительность», и получим полную аналогию поведения Inel Atom и Intel Core. Но тогда разумно предположить, что существуют такие «пробки»и «закоулки», в которых Atom обгонит Core. Давайте их поищем.

Поехали!
Total votes 112: ↑89 and ↓23+66
Comments53

Оптимизация для Intel Atom на пальцах

Reading time3 min
Views33K

Начну, пожалуй, с очевидного (слева от этого текста). Изображение, приведенное здесь, довольно известно. Оно показывает, что сотрудники Интел обычно носят на пальцах вместо колец процессоры Atom и рисовые зерна.
Оно демонстрирует размер процессора Intel Atom в сравнении с рисовым зерном. А я продемонстрирую вам буквально «на пальцах» простые и, надеюсь, полезные для программистов на С\С++ советы по оптимизации софта для Intel Atom.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments35

Intel Architecture Code Analyzer 2.0.1

Reading time2 min
Views4.7K
Мои потребности в анализе производительности софта на x86 покрывают три тула. Один из них — Vtune XE знаком, наверное, всем, кто сталкивался с оптимизацией.

Второй тул, к сожалению, не столь широко известнен. Он уже упоминался на Хабре в контексте оптимизации AVX кода, но область его применения несколько шире.

Иногда после того, как Vtune нашел самый главный хотспот (а зачастую, разработчик и так его знает), возникает потребность приложить некоторые усилия для уменьшения числа тактов, которые тратятся на его исполнение. Уже почти три года я использую для анализа производительности таких небольших, но критичных участков кода Intel Architecture Code Analyzer.

Пользоваться им просто, вот рекурсивный алгоритм всего лишь из 6 шагов:
1. В соответствующем .c/.cpp файле включается
#include «iacaMarks.h»,
2. dll/so библиотеки IACA кладутся в доступное системе место,
3. в исходник добавляются макросы
IACA_START, IACA_END
соответственно, перед началом и после окончания оптимизируемого кода. Например,
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments6

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

PyBrain работаем с нейронными сетями на Python

Reading time8 min
Views165K

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

PyBrain — одна из лучших Python библиотек для изучения и реализации большого количества разнообразных алгоритмов связанных с нейронными сетями. Являет собой удачный пример совмещения компактного синтаксиса Python с хорошей реализацией большого набора различных алгоритмов из области машинного интеллекта.

Предназначен для:

  • Исследователей — предоставляет единообразную среду для реализации различных алгоритмов, избавляя от потребности в использовании десятков различных библиотек. Позволяет сосредоточится на самом алгоритме а не особенностях его реализации.
  • Студентов — с использованием PyBrain удобно реализовать домашнее задание, курсовой проект или вычисления в дипломной работе. Гибкость архитектуры позволяет удобно реализовывать разнообразные сложные методы, структуры и топологии.
  • Лекторов — обучение методам Machine Learning было одной из основных целей при создании библиотеки. Авторы будут рады, если результаты их труда помогут в подготовке грамотных студентов и специалистов.
  • Разработчиков — проект Open Source, поэтому новым разработчикам всегда рады.

Читать дальше →
Total votes 95: ↑92 and ↓3+89
Comments22

Маленькие секреты больших графов

Reading time2 min
Views9.1K

Если вам интересно, какие знания можно извлечь из большого массива данных, насколько большими бывают графы и какие задачи по анализу социальных графов предлагают Facebook, Twitter и др., то эта статья именно для вас.
Читать дальше →
Total votes 60: ↑53 and ↓7+46
Comments11

Dynamic Binary Instrumentation в ИБ

Reading time7 min
Views13K
    Сложность программного обеспечения растет – программы становятся более динамическими, и их поведение возможно оценить только в процессе выполнения. Производить оценку безопасности (поиск уязвимостей, недокументированных возможностей и т.д.) таких приложений значительно сложнее. Использовать только статические подходы анализа становится невозможным, так как из-за динамически генерируемого кода мы даже не можем гарантировать полное покрытие кода при анализе. На помощь приходят динамические методы анализа.

    Есть такая замечательная технология, как динамическая бинарная инструментация (Dynamic Binary Instrumentation, DBI), которая заключается во вставке в бинарный исполняющийся код анализирующих (в общем случае) процедур. Основная прелесть данного подхода заключается в том, что нет необходимости в исходном коде анализируемого приложения – работа происходит непосредственно с бинарным файлом.
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments0

Восстановление расфокусированных и смазанных изображений

Reading time10 min
Views222K
Восстановление искаженных изображений является одной из наиболее интересных и важных проблем в задачах обработки изображений – как с теоретической, так и с практической точек зрения. Частными случаями являются размытие из-за неправильного фокуса и смаз – эти дефекты, с которым каждый из вас хорошо знаком, очень сложны в исправлении – именно они и выбраны темой статьи. С остальными искажениями (шум, неправильная экспозиция, дисторсия) человечество научилось эффективно бороться, соответствующие инструменты есть в каждом уважающем себя фоторедакторе.

Почему же для устранения смаза и расфокусировки практически ничего нету (unsharp mask не в счет) – может быть это в принципе невозможно? На самом деле возможно – соответствующий математический аппарат начал разрабатываться примерно 70 лет назад, но, как и для многих других алгоритмов обработки изображений, все это нашло широкое применение только в недавнее время. Вот, в качестве демонстрации вау-эффекта, пара картинок:



Я не стал использовать замученную Лену, а нашел свою фотку Венеции. Правое изображение честно получено из левого, причем без использования ухищрений типа 48-битного формата (в этом случае будет 100% восстановление исходного изображения) – слева самый обычный PNG, размытый искусственно. Результат впечатляет… но на практике не все так просто. Под катом подробный обзор теории и практические результаты.
Осторожно, много картинок в формате PNG!
Читать дальше →
Total votes 291: ↑289 and ↓2+287
Comments93

Восстановление расфокусированных и смазанных изображений. Практика

Reading time10 min
Views352K
Не так давно я опубликовал на хабре первую часть статьи по восстановлению расфокусированных и смазанных изображений, где описывалась теоретическая часть. Эта тема, судя по комментариям, вызвала немало интереса и я решил продолжить это направление и показать вам какие же проблемы появляются при практической реализации казалось бы простых формул.

В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.

Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



И вот результат обработки:



Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Читать дальше →
Total votes 459: ↑456 and ↓3+453
Comments141

Прогнозирование событий и Data Mining — вперед в будущее

Reading time3 min
Views24K


В Сети появился интересный сервис мониторинга информации по открытым источникам — Recorded Future.

Он позволяет аккумулировать информацию из более чем 150 000 различных СМИ с возможностью хранения архива до 5 лет с возможностью последующего анализа и извлечения знаний о возможных последствиях произошедшего и будущих событиях.

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

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

Наиболее интересные кейсы, демонстрирующие возможности системы, отражены на следующих прикладных примерах:

отслеживание возникающих киберугроз и действий хакеров в мире
анализ содержимого писем из круга приближенных Усамы Бин-Ладена
анализ протестной активности
анализ выборов в Греции и Египте
Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments22

Super-resolution из единственной фотографии

Reading time2 min
Views34K
В обработке изображений существует класс методов Super-resolution (SR), которые позволяют качественно увеличить разрешение исходного изображения, при этом происходит преодоление оптического предела объектива и/или физического разрешения цифрового сенсора, который записал изображение.

Алгоритмы SR используют два подхода для вычисления результирующего изображения: 1) на базе множества кадров одного объекта; 2) самообучающаяся система с базой образцов.


Читать дальше →
Total votes 83: ↑79 and ↓4+75
Comments64
12 ...
42

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity