• Modern Code. Программируй современно
    0

    Субтитры уже залиты на ютьюб — можно просто влючить нажав на СС кнопку.
    Файлы достаточно большие, и пока отдельно кроме ютьюба не выкладывались.

  • Modern Code. Программируй современно
    0

    Планировались. Но я не стал этого делать, т.к. качество перевода на русский было не очень…
    Есть предположение, что перевод будет пользоваться популярностью?

  • Modern Code. Программируй современно
    0

    Держи:
    https://www.youtube.com/playlist?list=PLqKQk2j2Il5mMqNHwJM9CLUAHLW5XFtw3


    Планы переводить на русския язык были. Но переводчики плохо справились с техническими терминами и т.д.
    Если кто-то хочет заняться переводом — дайте знать. Могу скинуть субтитры отдельными файлами.

  • Распараллеливание алгоритма Штрассена на Intel® Xeon Phi(TM)
    +1
    У Интела сейчас задача заставить программистов переписать старый legacy код, который разрабатывался в 80х-90х без учета векторных операций и мульти- и много-ядерности под новые архитектуры. И мы говорим о коде в сотни тысяч строк или даже нескольких миллионов строк. Переписывать все это богатство с нуля отвыжится только сумасшедший. Поэтому стратегически было принято решение поддерживать х86 инструкции и устоявшуюся инфроструктуру, векторизацию спихнуть на компилятор, а параллелизм нитей реализовать с помощью OpenMP стандарта — прагмы проще вставлять, чем переписывать сам код. Это далеко не идеальное решение, но уж какое Интел придумал. MIC первого покаления — это первый шаг в направлении такое системы, где без векторизации и нитей нифига летать не будет. Со вторым поколением (KNL) схожая ситуация, хотя и чуть ускорился одно-поточный код. И плюс в KNL с memkind библиотекой специальными аллокаторами можно будет управлять где выделяется памить: в MCDRAM или DDR4, если чип во flat mode памяти находится.
  • Распараллеливание алгоритма Штрассена на Intel® Xeon Phi(TM)
    +1
    Вопрос автору, при использонии алгоритма Штрассена, чем/как перемножались малые матрицы?
    MKL тем и хорош, что исбользует правильные алгоритм кеш-блокинга/рекурсивное деление матриц, что бы запихнуть правильные плитки (tiles) матриц в разные уровни кешей. Без этого мы говорим не о compute-bound имплементации, а намного замедленном коде, т.к. в нем будет слишком много кеш промохов.
    А еще для Xeon Phi 1.2 TFLOP/s — это только максимально возможная производительность на double precision, для FMA инструкций при использовании 512-битных векторных инструкций на всех ядрах. Только одна нить из 4-х на ядро смоежет использовать VPU за цикл. Но это я отвлекся. Т.е нужно еще думать как векторизовать весь код, если он не bandwidth-bound.
    Если есть желание побеседовать по этой теме — прошу в личку.
  • Простая методика оптимизации с использованием Intel System Studio
    +1
    Если очень кратко, то у них разный механизм расписаний (scheduling). Cilk Plus использует подход work-stilling, когда освободившийся рабочий лезет в очередь соседа и перетягивает себе неначатые елементы работы.
    Кроме того Cilk Plus был задуман как детерменистический, в то время как OpenMP таким может и не быть.
  • Пилотный выпуск видео курса «Параллельное Программирование и Оптимизация для Intel Xeon Phi копроцессоров»
    0
    Прошу прощения, описочка вышла. Хотя, если честно, я его имени даже и не помнил. Будучи тогда студентом аспирантуры я осмелился его называть только «мистером Дреппером». До обращения к нему по первому имени я тогда ещё не дорос.
  • Пилотный выпуск видео курса «Параллельное Программирование и Оптимизация для Intel Xeon Phi копроцессоров»
    0
    Да, это хорошая статья. Я её всем рекомендую, тем более, что с Уричем Дреппером я лично знаком, с тех пор когда он ещё работал в Red Hat, и приезжал к нам на кампус в North Carolina State University, где главный офис «красных шапочек» и находился. Но опять, это только работа памяти. А где векторизация, где неоднородные распределённые вычисления, я спрашиваю?..
  • Пилотный выпуск видео курса «Параллельное Программирование и Оптимизация для Intel Xeon Phi копроцессоров»
    0
    Учтём.

    Я согласен, сейчас это странно выглядит. Связано это с тем, что в начале были сняты два отдельных видео ролика: теоретическая часть отдельно от практической. Они были просто склеены вместе, когда я занялся русской озвучкой.
    В дальнейшем, я думаю, стоит объединять их в месте. Т.е. при показе слайда с теоретическим объяснением можно сбоку ещё показывать изменение исходного кода программы.

    В любом случае, спасибо за комментарий.
  • Пилотный выпуск видео курса «Параллельное Программирование и Оптимизация для Intel Xeon Phi копроцессоров»
    –3
    Префикс «со-» произошёл от латинского «cum», который читается как «кум» — cum laude (кум лауде) с похвалой. Как в русском «к» стало «с» — ума не приложу. Но я и не филолог, так что мне можно.

    Предлагаю лучше на темы производительных вычислений поговорить.
  • Пилотный выпуск видео курса «Параллельное Программирование и Оптимизация для Intel Xeon Phi копроцессоров»
    –2
    Спасибо за поправку. Учту при дальнейших переводах. Хотя себя будет сложно переучить, т.к. в ангийской транскрипции это слово читается именно как «ко-», а не «со-». Это как в названии штата «Техас» отродясь не было буквы «х» (американцы произносят его как «Тексыс»), но в русском произношении — появилась, думаю из-за схожего написания ;)
  • Пилотный выпуск видео курса «Параллельное Программирование и Оптимизация для Intel Xeon Phi копроцессоров»
    0
    Упомянутая книга рассматривает особенности реализации параллельного доступа к С++11 структурам данных. При этом векторизация, распределённые вычисления в кластерах, оптимизация траффика, оптимизация доступа к памяти, и остальные 90% материала нашего учебного курса она не рассматривает. Так что можете, конечно, сомневаться, но я расскажу намного больше, чем покрыто в упомянутой книге.
  • Пилотный выпуск видео курса «Параллельное Программирование и Оптимизация для Intel Xeon Phi копроцессоров»
    –1
    Вы правы. Данный пример очень прост. Хуже дела, например, обстоят с кодом для оптимизации использования кеша. там снипет кода может не помочь, и проще будет выслушать чьё-то объяснение. В нашей книге (xeonphi.com/book) есть и такие примеры. А в целом, видео лекции создаются с двойной целью: 1) некоторые ученики предпочитают видео материал, чем чтение книг. 2) дальнейшее распространение учебного материала в странах не говорящих по-английски можно сделать просто переведя субтитры на нужный язык.
  • Пилотный выпуск видео курса «Параллельное Программирование и Оптимизация для Intel Xeon Phi копроцессоров»
    –2
    А если по сути вопроса, пожалуйста?
  • Пилотный выпуск видео курса «Параллельное Программирование и Оптимизация для Intel Xeon Phi копроцессоров»
    0
    Если кратко, то пока только в тех случаях, где есть compute-bound или bandwidth-bound задачи. Т.е. много вычислений на каждое число, так как доступно до 2.2 TFLOP/s для одинарной точности; или же последовательный доступ к памяти — т.к. 8 контроллеров памяти с прифетчингом справятся с этой задачей лучше (реальные 160 GB/s), чем CPU (~60GB/s). Проблемы возникают, если есть случайный доступ к данным. Тут пиши — «пропало!». Прифетчинг становится бесполезным и наблюдается резкое падение пропускной способности. Такая же картина будет на GPGPU, если у вас есть опыт программирования для этих архитектур.

    Можно ещё добавить, что пока Xeon Phi имеют только in-order ядра, т.е. параллелизм на уровне инструкций, как при out-of-order buffers — отсутствует. Это поменяется со следующим поколением Xeon Phi — Knights Landing.

    Ну и пока мы ограничены шириной PCIe шины, которая для 2ого поколения устройств (PCIe v2 with 16 lanes) может пропускать до 7 GB/s (реальных я видел только 6.5 GB/s). Т.е. из простого расчёта можно прикинуть, что нужно минимум где-то 1200 FLOPs на каждый double, что бы оправдать перегон этих данных по шине. Опять таки это поменяется со следующим поколением, т.к. Интел решил выпустить Knights Landing как CPU чип, т.е. все куча ядер будут сидеть прям на материнской плате с доступом к сотням гигабайт памяти.

    Как-то так… Я об этом буду подробно в курсе говорить.
  • Бесплатный CppCat для студентов
    +8
    На сайте для англоязычных товарищей найдено следующее: «transcript or other document confirming that you are a higher school student.»
    Просто поясню, что этим словом у них называется средняя школа с 10 по 12 классы. Я бы поменял фразу на следующее:
    «transcript or other document confirming that you are a higher school, college, or grad school student.» — что вы ученик школы, университета или аспирантуры. И для примера, студак будет выглядеть вот так:
    image
  • Игры ради науки
    +4
    Неа, не проходится. Попробуйте сами.
  • Эксперимент по теории вероятностей в жизни
    –3
    Т.е.
    1) придумайте случайную выборку из 10 чисел
    2) выберете одно из них.

    Это как минимум — другая задача. И придуманное число, по теории вероятности, скорее окажется больше 10.
  • Google купила Deepmind за 500 миллионов долларов
    0
    После визита Lockheed Martin в Fort Worth, TX, USA, я начинаю думать, что это весьма возможно…
  • Google оценивает работу интернет-провайдеров
    0
    Проверил из дома (Санта Клара) — та же песня.
    ЗЫ: Приятно познакомиться, сосед!
  • Google оценивает работу интернет-провайдеров
    0
    Что уж там, в Mountain View, California — где штаб квартира Гугла находится, и то не у всех провайдеров показывает статистику. Нужно подождать пока сервис выйдет из бетты ;)
  • Первый процессор из углеродных нанотрубок
    +4
    А вот и описание процесса из самой статьи:
    (CNT — carbon nano-tube (углеродная нано-трубка))

    METHODS SUMMARY
    The fabrication process is depicted in Extended Data Fig. 1. The CNTs are grown
    on a quartz substrate to yield highly aligned CNTs14, and are transferred onto the
    target SiO2 wafer14. Before CNT transfer, the wafer undergoes processing to define
    bottom-layer wires and the local back gates of the transistors28. Lithographically
    defined trenches are etched using a combination of dry plasma etch followed by
    wet etch, and are filled by electron-beam evaporation of platinum and smoothed
    by a subsequent plasma sputter etch. A 24-nm high-k dielectric of Al2O3 is deposited
    by atomic-layer deposition, and contact holes are etched through this layer to the
    embedded metal wires and gates through another combined dry- and wet-etch
    process. After CNT transfer, the source and drain (bilayers of palladium and pla-
    tinum) are lithographically defined through a lift-off process, and mis-positioned
    CNTs are etched away using optical lithography followed by oxygen plasma15. A
    metal layer of gold is lithographically patterned with lift-off and connects every
    other source and drain, and separately connects every gate, effectively forming a
    single CNFET composed of all of the single CNFETs in parallel.
  • Первый процессор из углеродных нанотрубок
    +4
    Основная проблема — это построение таких процессоров. Если на кремниевых кристаллах можно нанести металл фото- или электронной литографией, то с нанотрубками не всё так просто.
    Если их выращивать химической реакцией, что обычно делается в лабораториях, то возникает проблема доставки в нужное место и прикрипления-«припаивания». Если же выращивать их прямо на микросхеме — сложно избавиться от химического «мусора».
    Так что это сложный технологический процесс. Потому даже такой маленький шаг (вроде бы), на самом деле потребовал нескольких лет разработки.
  • Полезное для начинающих играть в Ingress
    +1
    Спасибо мил человек. Из-за тебя я всю ночь по селиконовой далине колесил… (это я по-доброму).

    Эронично то, что у яблочников в Купертино весь кампус покрыт повстанцами =)
  • Полезное для начинающих играть в Ingress
    0
    Очень захотелось тоже побегать по округе. Угостите инвайтом плиз: vadikus@gmail.com
  • Living Computer Museum
    0
    Айда туды толпой =)
  • Red Hat станет первой компанией-миллиардером в мире СПО
    0
    Да software engineerы мы… А они только интёрнов видеть хотят… Так что я всё ещё имею право поплакаться…
  • Red Hat станет первой компанией-миллиардером в мире СПО
    0
    Интересно, почему же они последнее время почти никого не нанимают, особенно в Ралливском офисе. Друг там работает, говорит, что всех работников знает в лицо. Практически никакой ротации кадров. Значит всем нравится там работать… Но блин, мне же тоже хочется. Тем более, что они через дорогу от моего старого офиса…
  • Часть №2. Введение в биовычисления по сворачиванию. Мат. критерии
    0
    Прям ВЕСЬ список литературы ему кидать? Ради интереса полез к себе в тезис смотреть сколько ж это статей — оказалось 124 наименования. Из них, вроде, 5-6 книг, остальное — научные публикации.

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

    И кстати, если что, я то себя тоже к технарям причисляю. Я больше программист, нежели биолог.
  • Часть №2. Введение в биовычисления по сворачиванию. Мат. критерии
    +1
    Из Вашей первой статьи:
    Биологи могут лишь с определенной погрешностью увидеть путем биоэкспериментов состояние в уже свернутом состоянии, но проследить как это происходит пока не возможно.

    Именно эту фразу я и назвал постановкой вопроса неправильно. Молекулярная динамика показываем динамическое изменение состояния биологической системы. С теми методами, что мы, например, в моей группе разрабатывали, получается ускорение динамики в десятки тысяч раз. Что позволяет симулировать большие протеиновые комплексы. Если Вам кажется молекулярная динамика сложной, ну что же, Ваше право выбрать другой подход. Я просто показал, что можно удачно использовать и этот.

    И если честно, как-то мне перестал нравится Ваша «тролевидная» манера общения. Потому пойду-ка я спать, пока в очередной холивар не влез.
  • Часть №2. Введение в биовычисления по сворачиванию. Мат. критерии
    –1
    Кстати, мне любопытно стало, а Вы в курсе откуда вообще взялись эти волшебные 3 А и 20 градусов?
  • Часть №2. Введение в биовычисления по сворачиванию. Мат. критерии
    0
    картинка была представлена не для того
  • Часть №2. Введение в биовычисления по сворачиванию. Мат. критерии
    0
    правильно понимаете
  • Часть №2. Введение в биовычисления по сворачиванию. Мат. критерии
    0
    Я использовал вот этот источник для этих значений:

    Wolfgang Kabsch and Christian Sander. Dictionary of protein secondary structure:
    Pattern recognition of hydrogen-bonded and geometrical features. Biopolymers,
    22(12):2577–2637, Dec 1983. ISSN 1097-0282. doi: 10.1002/bip.360221211. URL
    www3.interscience.wiley.com/cgi-bin/abstract/107587714/ABSTRACT.
  • Часть №2. Введение в биовычисления по сворачиванию. Мат. критерии
    +3
    Пока я хабр до 3ей страницы дочитал, статью опять ниже порога главной опустили…

    Ладно, давайте по сути. Это очень простая функция, которая выражает классическую электростатику взаимодействия атомов кислорода и водорода в белке. Коэффициенты, а в данном случае это численные значения частичных (ещё их смещёнными иногда называют) зарядов находятся из квантовых симуляций.

    Т.е. Е — это просто энергия взаимодействия. Для простоты можно ввести пороговое значение -0.5 ккал/моль и если энергия меньше этого значения — будем считать, что водородная связь присутствует. Если больше — то её нет.

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

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

    А по поводу статьи… Мне показалось, как-то Вы всё с ног на голову поставили. Перебором, понятное дело, ничего нельзя найти. Но кто мешает Вам использовать динамические методы, которые успешно развиваются уже последние 50 лет.

    Просто для доп.информации: в 2000 году на тему молекулярного моделирования было опубликовано свыше 1 000 статей только в одних американских журналах. Общее число сегодня уже превышает 50 000. Только в прошлом году было опубликовано 12к статей. Вопрос качества их давайте лучше опустим)))
  • Часть №2. Введение в биовычисления по сворачиванию. Мат. критерии
    +2
    Тут у вас драка не на шутку… Я лучше в сторонке со своим плакатом постою… Это собственно основная из функций в моей докторской по нахождению свободной энергии фолдинга белков… image
  • Я хочу работать в Google! Телефонное интервью (часть 3, питоноводческая)
    0
    многое зависит от условий задачи. Если у нас было много не повторяющихся символов, то второй проход по строке закончится почки в самом начале. Тогда как поиск минимального элемента словаря — O(k), где k — размер словаря.
  • Я хочу работать в Google! Телефонное интервью (часть 3, питоноводческая)
    0
    Как алгоритм O(n^2) может быть быстрее O(n)? Для малых значений n — может быть, но для больших же… Можете оценить сложность алгоритма через n и k — число символов в строке и размер алфавита? Может в этом кроется ответ?
  • Я хочу работать в Google! Телефонное интервью (часть 3, питоноводческая)
    0
    Тогда уж проще реализовать LinkedLists в чистом Си и вызывать функции из питона — прирост производительности и экономия памяти.
  • Я хочу работать в Google! Телефонное интервью (часть 3, питоноводческая)
    0
    Абсолютно, если мы говорим о питоне. Мне кажется, что лучше использовать стандартные питоновские list и tuples вместо такой-вот дурацкой конструкции. Как минимум потому, что это не Си-шное число и пойнтер, а целый объект класса, который сжерает в сотни раз больше места. Памяти как-то жалко. Поэтому ДА, практической ценности от LinkedList в такой реализации в питоне нету.