The presentation deals with the practical examples of the optimization levels in the context of the C++ language features and dwell upon the data-oriented design evaluation methods.
The presentation materials were co-authored with Oleksandr Markov (Senior Software Engineer, Consultant, GlobalLogic, Kharkiv) and was delivered by Oleksandr Antsyferov (Senior Software Engineer, Consultant, GlobalLogic, Kharkiv) at GlobalLogic Kharkiv C++ TechTalk #1 on May 16, 2018.
The presentation deals with the practical examples of the optimization levels in the context of the C++ language features and dwell upon the data-oriented design evaluation methods.
The presentation materials were co-authored with Oleksandr Markov (Senior Software Engineer, Consultant, GlobalLogic, Kharkiv) and was delivered by Oleksandr Antsyferov (Senior Software Engineer, Consultant, GlobalLogic, Kharkiv) at GlobalLogic Kharkiv C++ TechTalk #1 on May 16, 2018.
Презентация подготовлена по материалам выступления Виталия Квятковского на витебском Dev Day MiniQ (https://vk.com/devdayminiq), который был проведен 15 сентября 2016.
The document is a short story titled "Nature" in Pencil. It appears to be a story told through pencil drawings of nature. In just a few sentences, the author conveys scenes from nature with minimal words.
Programación cuartos de final vi campeonato nacional femenino sub 19alcaldiadetamesis
La Federación Colombiana de Fútbol de Salón es una entidad sin ánimo de lucro fundada en 1974 que organiza el VI Campeonato Nacional Femenino Sub-19 en Támesis, Antioquia. El torneo consiste en una fase de grupos, cuartos de final a disputarse el 6 de diciembre, semifinales el 7 de diciembre y la final el 8 de diciembre donde se enfrentarán los ganadores de cada semifinal para determinar al campeón.
Thư mời cựu sinh viên PFIEV dự lễ kỷ niệm 10 năm PFIEV - ĐH BKTPHCM
Thời gian: 8h00, Thứ Ba, ngày 27 tháng 10 năm 2009
Địa điểm: Hội trường A5
ĐH Bách Khoa Tp. Hồ Chí Minh
268 Lý Thường Kiệt, Q. 10, Tp. HCM
A empresa anunciou um novo produto que combina hardware e software para fornecer uma solução completa para clientes. O produto oferece recursos avançados de inteligência artificial e aprendizado de máquina para automatizar tarefas complexas. Analistas esperam que o produto tenha um grande impacto no mercado e gere receita significativa para a empresa no próximo ano fiscal.
El documento detalla los partidos de semifinales y finales de un torneo de fútbol que se llevará a cabo del 10 al 13 de diciembre. Enlista los equipos participantes en cada categoría y fecha de los partidos de semifinales y finales tanto en rama femenil como varonil.
Презентация подготовлена по материалам выступления Виталия Квятковского на витебском Dev Day MiniQ (https://vk.com/devdayminiq), который был проведен 15 сентября 2016.
The document is a short story titled "Nature" in Pencil. It appears to be a story told through pencil drawings of nature. In just a few sentences, the author conveys scenes from nature with minimal words.
Programación cuartos de final vi campeonato nacional femenino sub 19alcaldiadetamesis
La Federación Colombiana de Fútbol de Salón es una entidad sin ánimo de lucro fundada en 1974 que organiza el VI Campeonato Nacional Femenino Sub-19 en Támesis, Antioquia. El torneo consiste en una fase de grupos, cuartos de final a disputarse el 6 de diciembre, semifinales el 7 de diciembre y la final el 8 de diciembre donde se enfrentarán los ganadores de cada semifinal para determinar al campeón.
Thư mời cựu sinh viên PFIEV dự lễ kỷ niệm 10 năm PFIEV - ĐH BKTPHCM
Thời gian: 8h00, Thứ Ba, ngày 27 tháng 10 năm 2009
Địa điểm: Hội trường A5
ĐH Bách Khoa Tp. Hồ Chí Minh
268 Lý Thường Kiệt, Q. 10, Tp. HCM
A empresa anunciou um novo produto que combina hardware e software para fornecer uma solução completa para clientes. O produto oferece recursos avançados de inteligência artificial e aprendizado de máquina para automatizar tarefas complexas. Analistas esperam que o produto tenha um grande impacto no mercado e gere receita significativa para a empresa no próximo ano fiscal.
El documento detalla los partidos de semifinales y finales de un torneo de fútbol que se llevará a cabo del 10 al 13 de diciembre. Enlista los equipos participantes en cada categoría y fecha de los partidos de semifinales y finales tanto en rama femenil como varonil.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Este gráfico muestra las edades de un grupo de personas en la escala horizontal y el porcentaje de personas en cada grupo de edad en la escala vertical. La mayoría de las personas tienen entre 20 y 40 años, con una cantidad menor de personas menores de 20 años y mayores de 40 años.
Fedora Virtualization Day 2013. Moscow.
June 01, 2013.
Sartakov A. Vasily (Василий Сартаков).
Language: russian.
Виртуализация - основные сведения.
https://www.youtube.com/watch?v=bVRM7eZAdmM&index=1&list=PLTWTWm0uA2fLok6RlpJYy350FDQiRXYbS
Микроядра и способы виртуализации.
https://www.youtube.com/watch?v=nvbKs-aMubY&index=2&list=PLTWTWm0uA2fLok6RlpJYy350FDQiRXYbS
Вебинар: Основы распараллеливания С++ программ при помощи OpenMPFlyElephant
Презентация с первого технического вебинара FlyElephant, на котором были рассмотрены основы распараллеливания С/С++ программ при помощи OpenMP и рассказано о функционале FlyElephant.
Видео презентации: https://youtu.be/X1bqBPnJaHM
Сайт FlyElephant: http://flyelephant.net/
ПРОГРАММА БЕТА-ТЕСТИРОВАНИЯ FLYELEPHANT: http://flyelephant.net/beta/
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019corehard_by
Память в компьютере - это не только гигабайты оперативной памяти в слоте, но и занятная абстракция. В докладе мы рассмотрим, как можно эту абстракцию использовать необычным образом для моделирования других абстракций - регистровых файлов периферийных устройств. Доклад будет полезен не только embedded-разработчикам, но и, возможно, заставит переосмыслить свой взгляд на память.
The document discusses concurrency and synchronization in distributed computing. It provides an overview of Petr Kuznetsov's research at Telecom ParisTech, which includes algorithms and models for distributed systems. Some key points discussed are:
- Concurrency is important due to multi-core processors and distributed systems being everywhere. However, synchronization between concurrent processes introduces challenges.
- Common synchronization problems include mutual exclusion, readers-writers problems, and producer-consumer problems. Tools for synchronization include semaphores, transactional memory, and non-blocking algorithms.
- Characterizing distributed computing models and determining what problems can be solved in a given model is an important area of research, with implications for distributed system design.
The document discusses weakly supervised learning from video and images using convolutional neural networks. It describes using scripts as weak supervision for learning actions from movies without explicit labeling. Methods are presented for jointly learning actors and actions from scripts, and for action learning with ordering constraints. The use of CNNs for object and action recognition in images is also summarized, including work on training CNNs using only image-level labels without bounding boxes.
This document discusses common C++ bugs and tools to find them. It describes various types of memory access bugs like buffer overflows on the stack, heap, and globals that can lead to crashes or security vulnerabilities. Threading bugs like data races, deadlocks, and race conditions on object destruction are also covered. Other undefined behaviors like initialization order issues, lack of sequence points, and integer overflows are explained. The document provides examples of each type of bug and emphasizes that undefined behavior does not guarantee a predictable result. It concludes with a quiz to find bugs in a code sample and links to additional reading materials.
AddressSanitizer, ThreadSanitizer, and MemorySanitizer are compiler-based tools that detect bugs like buffer overflows, data races, and uninitialized memory reads in C/C++ programs. AddressSanitizer instruments loads and stores to detect out-of-bounds memory accesses. ThreadSanitizer intercepts synchronization calls to detect data races between threads. MemorySanitizer tracks initialized and uninitialized memory using shadow memory to find uses of uninitialized values. The tools have found thousands of bugs with low overhead. Future work includes supporting more platforms and languages and detecting additional bug classes.
This document discusses common C++ bugs and tools to find them. It describes various types of memory access bugs like buffer overflows on the stack, heap, and globals that can lead to crashes or security vulnerabilities. Threading bugs like data races, deadlocks, and race conditions on object destruction are also covered. Other undefined behaviors like initialization order issues, lack of sequence points, and integer overflows are explained. The document provides examples of each type of bug and quizzes the reader to find bugs in a code sample. It recommends resources for further reading on debugging techniques and thread sanitizers that can detect races and data races.
This document provides examples and snippets of code for MapReduce, Pig, Hive, Spark, Shark, and Disco frameworks. It also includes two sections of references for related papers and Disco documentation. The examples demonstrate basic MapReduce jobs with drivers, mappers, and reducers in Java, Pig and Hive queries, Spark and Shark table operations, and a Disco MapReduce job.
Н. Иготти. Виртуализация и виртуальные машины. Лекция 11
1. Архитектура QEMU
• Интерпретатор моделирующий цикл исполнение CPU
• Динамический бинарный транслятор базовых блоков
• Трансляция: машинный код гостя -> простой IR ->
непривилегированный машинный код хоста
• Внешние прерывания обновляют флаг проверяемый
интерпретатором и порождѐнным кодом
• Программная модель MMU (логический TLB)
• Программные модели устройств
• Моделирование всей машины или только режима
пользователя с трансляцией системных вызовов
• Опциональный ускоритель режима ядра (KVM)
1
2. Транслятор QEMU
• Используется TCG (tiny code generator) из простого
компилятора C
• JIT компилятор базовых блоков машинного кода
(translated block)
• IR – простая 3-х операндная нотация, типичный RISC
LIR
• Результаты компиляции сохраняются в кэше
индексированном адресом начала блока (PA или
VA?)
• Компиляция только при отсутствии в кэше
• Регистры целевой архитектуры – глобалы
компилятора
• Сложные операции – код на C вызываемый из
порождѐнного кода
2
3. Управление памятью в QEMU
• Трансляция адресов при необходимости
• Программная модель MMU
• Кэш трансляции адресов (TLB) в состоянии
виртуального процессора
• Обработчики доступа для MMIO и некоторых
критических участков
• Точная обработка исключений виртуального
CPU (благодаря примитивности
компилятора)
• Сброс TLB при обновлении указателя
таблицы страниц (ещѐ?)
3
4. Некоторые оптимизации в
QEMU
• Фиксированное назначение некоторых
регистров (каких?)
• Выход из цикла интерпретации longjmp()
• Ссылки на TB из описания страницы
(зачем?)
• Прямая линковка TBs
• Использование MMU хоста (через сигналы
ОС)
• Использование системы непосредственного
исполнения непривилегированного кода при
возможности
4
5. Valgrind
• Изначально система поиска ошибок работы
с памятью (memcheck)
• Позднее расширена следующими
инструментами
Massif (профайлер хипа)
Helgrind (поиск race conditions)
Cachegrind (профилятор кэша)
• Динамический бинарный транслятор
порождающий инструментированный код
• Отслеживает состояние битов памяти
• Или кэша, или…
5
6. Вопросы
• Какие сложности может встретить
попытка добавить в QEMU
оптимизирующий компилятор?
• Какие процессоры легче
моделировать с QEMU?
• Какие процессорные оптимизации
можно добавить в QEMU?
• Какие расширения для Valgrind
предложили бы вы?
6