В эту субботу лекции по С++ не будет, будет перенос, о нем сообщу как только узнаю
Завтра будет лекция по С++ в 13:00 во время математической логики
Поговорим про многопоточность в индустрии, синхронные, асинхронные парадигмы -- лёгкие треды, корутины. Немного про науку, про модели памяти атомарных операций, транзакционную память, если останется время.
Если будет огромный интерес, сделаем ещё одну лекцию на след неделе по продвинутым темам. Но для тех, кто сильно заинтересуется, посоветуем пройти на РС и курс от Романа Липовского
Поговорим про многопоточность в индустрии, синхронные, асинхронные парадигмы -- лёгкие треды, корутины. Немного про науку, про модели памяти атомарных операций, транзакционную память, если останется время.
Если будет огромный интерес, сделаем ещё одну лекцию на след неделе по продвинутым темам. Но для тех, кто сильно заинтересуется, посоветуем пройти на РС и курс от Романа Липовского
Формат пересдачи по C++:
Мы разрешим дорешать все задачи (мелкие и большие), но максимум от баллов каждой задачи можно будет получить 60%. Это идёт поверх заработанных баллов.
Также со всеми, кто пересдает, мы поговорим лично по решенным задачам и можем задавать вопросы по коду у любой задачи
Максимум на пересдаче можно получить 6
Мы разрешим дорешать все задачи (мелкие и большие), но максимум от баллов каждой задачи можно будет получить 60%. Это идёт поверх заработанных баллов.
Также со всеми, кто пересдает, мы поговорим лично по решенным задачам и можем задавать вопросы по коду у любой задачи
Максимум на пересдаче можно получить 6
В задаче timerqueue используйте wait_until c std::condition_variable, wait_for пораждает false positive у TSAN https://github.com/google/sanitizers/issues/1259
С днём новых задач! 🤡 — Вчера был весь день в перелётах. Добавили 4 задачи.
Сейчас выложу все лекции на ютуб и в репозиторий, я вылетел из графика немного из-за таймзон.
Большую домашку выложим на след неделе, мы хотим поработать над материалами, чтобы вы совсем не умерли.
Оценка за бонусы: максимум 1.5 балла к итогу. Сейчас 7 задач, мы добавим максимум ещё 1-2. В итоге оценка за бонус будет
С днём новых задач! 🤡 — Вчера был весь день в перелётах. Добавили 4 задачи.
Сейчас выложу все лекции на ютуб и в репозиторий, я вылетел из графика немного из-за таймзон.
Большую домашку выложим на след неделе, мы хотим поработать над материалами, чтобы вы совсем не умерли.
Оценка за бонусы: максимум 1.5 балла к итогу. Сейчас 7 задач, мы добавим максимум ещё 1-2. В итоге оценка за бонус будет
кол-во решённых / кол-во бонусов * 1.5GitHub
[tsan] False warning when using std::condition_variable · Issue #1259 · google/sanitizers
When compiling the following code with clang, utilizing thread sanitizer, I get false warnings. #include <cassert> #include <chrono> #include <condition_variable> #include <ios...
Система будет недоступна в период с 2:30 до 3:30.
Скорее всего ничего не поломается, но вероятность есть, задачи могут не сдаваться.
Скорее всего ничего не поломается, но вероятность есть, задачи могут не сдаваться.
Доброй ночи/утра
Мы добавили пару задач, это coroutine и generator в новый семинар (больше задач в семинаре не будет). Они с большой вероятностью могут у вас не собраться. Чтобы это исправить, сделайте одно из трёх
1.
На ubuntu и debian установите пакет libboost-context-dev
На mac
2.
Соберите из исходников только библиотеку context и указывайте в CMake пусть до установки через
3.
Если вы не планируете решать задачи совсем, закомментируйте в CMakeLists.txt эти две строки до того момента, как захотите решать задачи
Мы добавили бонус executors. Он оценивается в отдельные 0.5 балла в итог. Он не идёт в количественные бонусы, то есть всего бонусов до сих пор 7, за них 1.5 балла. За executors ещё 0.5 балла, в итоге за бонусы вы можете получить 2 балла. Мы советуем решать этот бонус только если вам не хватает сил или мотивации решать последнюю БДЗ, задача достаточно объёмная.
Табличку с оценками сделаем в ближайшее время, чтобы вы могли трекать свои текущие баллы
Мы добавили пару задач, это coroutine и generator в новый семинар (больше задач в семинаре не будет). Они с большой вероятностью могут у вас не собраться. Чтобы это исправить, сделайте одно из трёх
1.
На ubuntu и debian установите пакет libboost-context-dev
sudo apt install libboost-context-devНа mac
brew install boost2.
Соберите из исходников только библиотеку context и указывайте в CMake пусть до установки через
-DBOOST_ROOT=<path>. Прочитайте внимательно инструкцию по ссылке3.
Если вы не планируете решать задачи совсем, закомментируйте в CMakeLists.txt эти две строки до того момента, как захотите решать задачи
Мы добавили бонус executors. Он оценивается в отдельные 0.5 балла в итог. Он не идёт в количественные бонусы, то есть всего бонусов до сих пор 7, за них 1.5 балла. За executors ещё 0.5 балла, в итоге за бонусы вы можете получить 2 балла. Мы советуем решать этот бонус только если вам не хватает сил или мотивации решать последнюю БДЗ, задача достаточно объёмная.
Табличку с оценками сделаем в ближайшее время, чтобы вы могли трекать свои текущие баллы
GitLab
Files · main · hse-cpp / cpp-advanced-hse · GitLab
Advanced C++ at HSE
Мы выложили новое большое домашнее задание.
Это jpeg-decoder.
В нём 6 пунктов, максимум 12.5 баллов. Мы думаем, что пункт progressive самый тяжелый (и оценивается в 2.5), прочитайте все остальные. Также в этом задании есть элемент закрытых тестов -- это fuzzing тестирование. Вы можете это тестирование запускать у себя, в этом плане оно открытое.
Дедлайн 26 декабря 23:59:59. Ночью 27 декабря мы запустим все решения друг против друга. Все упавшие решения не получат баллов, которые мы указали на пункт fuzz.
Все детали на лекциях и семинарах, но вы можете начинать читать материалы, указанные в условии.
Мы можем немного менять тесты или добавить пару жпегов, всё как обычно.
В задаче также есть пасхалка, напишите лектору или семинаристу, если вы думаете, что нашли её. Первым 10 людям мы поставим +1 балл за это дз, если вы сможете её объяснить.
Удачи!
Это jpeg-decoder.
В нём 6 пунктов, максимум 12.5 баллов. Мы думаем, что пункт progressive самый тяжелый (и оценивается в 2.5), прочитайте все остальные. Также в этом задании есть элемент закрытых тестов -- это fuzzing тестирование. Вы можете это тестирование запускать у себя, в этом плане оно открытое.
Дедлайн 26 декабря 23:59:59. Ночью 27 декабря мы запустим все решения друг против друга. Все упавшие решения не получат баллов, которые мы указали на пункт fuzz.
Все детали на лекциях и семинарах, но вы можете начинать читать материалы, указанные в условии.
Мы можем немного менять тесты или добавить пару жпегов, всё как обычно.
В задаче также есть пасхалка, напишите лектору или семинаристу, если вы думаете, что нашли её. Первым 10 людям мы поставим +1 балл за это дз, если вы сможете её объяснить.
Удачи!
Задач больше не будет на курсе. Делайте большое дз
Мы посмотрели на ваши посылки в
1) Вам нужно использовать библиотеку
Мы забанили функции
2) Переиспользуйте план, который подготовила библиотека
В ближайшее время мы добавим бенчмарк, проверяющий это.
jpeg-decoder/fftw. Два момента:1) Вам нужно использовать библиотеку
FFTW. Не пишите вычисления по формуле руками, это приведет вас к проблемам с точностью, которые будет сложно обнаружить.Мы забанили функции
cos и acos, 4 сданных решения перетестировали. Это не универсальная проверка, но не пытайтесь ее обойти, пожалуйста.2) Переиспользуйте план, который подготовила библиотека
FFTW, между вызовами DctCalculator::Inverse(), не создавайте его каждый раз заново -- это неэффективно.В ближайшее время мы добавим бенчмарк, проверяющий это.
Мы починили подзадачу faster в jpeg-decoder и слегка ослабили условие на перформанс (теперь надо уложиться в 8 секунд, а не в 6)
Напоминаем, что списывание строго запрещено на курсе. И карается снятием всей недели при обнаружении, а также запиской в учебный офис.
Мы в скором времени проверим все решения на списывание, в том числе и из открытых источников.
Если вам есть что рассказать до того, как мы обнаружили вас, вы можете написать лично лектору, и мы снимем только половину недели.
За курс мы нашли уже 16 случаев у 10 студентов. При обнаружении списывания у двух студентов, мы руками проверяем все остальные задачи. У некоторых студентов обнулились уже 3 недели.
Мы в скором времени проверим все решения на списывание, в том числе и из открытых источников.
Если вам есть что рассказать до того, как мы обнаружили вас, вы можете написать лично лектору, и мы снимем только половину недели.
За курс мы нашли уже 16 случаев у 10 студентов. При обнаружении списывания у двух студентов, мы руками проверяем все остальные задачи. У некоторых студентов обнулились уже 3 недели.
Сегодня cmake
https://zoom.us/j/92427240857?pwd=L3UyVnFRRHh1N2RzVmVZZUFabXhSQT09
ID: 92427240857
Passcode: 321885
https://zoom.us/j/92427240857?pwd=L3UyVnFRRHh1N2RzVmVZZUFabXhSQT09
ID: 92427240857
Passcode: 321885
Zoom Video
Join our Cloud HD Video Meeting
Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars across mobile, desktop, and room systems. Zoom Rooms is the original software-based conference room solution…
В эту субботу последняя лекция по C++, поговорим про перф C++, место C++ в мире и что нас ждёт в будущем
28 декабря в 18:00 MSK посиделки со всем препод. составом по курсу С++ (или практически всем)
Начнём, наверное, с РС и каких-то баек, но задать вопросы можно любые
Вопросы: https://forms.gle/rBLV6DpZStFW4x1RA
Ссылка: https://zoom.us/j/92427240857?pwd=L3UyVnFRRHh1N2RzVmVZZUFabXhSQT09
Начнём, наверное, с РС и каких-то баек, но задать вопросы можно любые
Вопросы: https://forms.gle/rBLV6DpZStFW4x1RA
Ссылка: https://zoom.us/j/92427240857?pwd=L3UyVnFRRHh1N2RzVmVZZUFabXhSQT09
Google Docs
Вопросы на посиделках
Фаззинг huffman и fftw прошли у всех, кто сдал, про baseline мы скажем с утра
HSE Продвинутый C++ 2021
Фаззинг huffman и fftw прошли у всех, кто сдал, про baseline мы скажем с утра
По состоянию на 22:48 London time живы только 5 решений
hse-Abramovich-Vladislav-ohhimarkk
hse-Semyon-Yentsov-swalrus
hse-Tagir-Khamitov-tagirkhamitov
hse-Tim-Gritsaev-timgri93
hse-Mikhail-Gusev-mcnckc
hse-Abramovich-Vladislav-ohhimarkk
hse-Semyon-Yentsov-swalrus
hse-Tagir-Khamitov-tagirkhamitov
hse-Tim-Gritsaev-timgri93
hse-Mikhail-Gusev-mcnckc
4 решения
Abramovich Vladislav выбывает из-за OOM инпута в 1036 байт
Abramovich Vladislav выбывает из-за OOM инпута в 1036 байт
3 решения
Тимофей Грицаев выбывает из-за деления на ноль в решении faster
Тимофей Грицаев выбывает из-за деления на ноль в решении faster
2 решения
Тагир Хамитов выбывает из-за переполнения
Тагир Хамитов выбывает из-за переполнения
/usr/local/google/home/danilak/cpp-advanced-hse/tasks/jpeg-decoder/decoder.cpp:384:16: runtime error: signed integer overflow: 2027378152 * 2 cannot be represented in type 'int'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/local/google/home/danilak/cpp-advanced-hse/tasks/jpeg-decoder/decoder.cpp:384:16 in
MS: 1 ChangeBinInt-; base unit: 1b6c40f01c53fa64e2dee54ade2c9e24fe0dd057