Вопросы по теме 'memory-access'

Приложение на основе SAPI вызывает нарушение доступа к памяти при перечислении токенов
Недавно я загрузил Visual Studio 2015 (Community), чтобы разработать приложение с использованием Microsoft SAPI TTS. Я установил SDK 5.1, а затем SDK 5.4 для распознавания речи и установил языки выполнения для SAPI. До сих пор мне удавалось...
178 просмотров
schedule 18.03.2022

Проверка кода C на недопустимый доступ к памяти с помощью Frama-C
Мне дан этот код C (детали кода, включая возможные ошибки, не очень важны): int read_leb128(char **ptr, char *end) { int r = 0; int s = 0; char b; do { if ((intptr_t)*ptr >= (intptr_t)end) (exit(1)); b = *(*ptr)++; r += (b...
180 просмотров
schedule 10.05.2022

Объединение памяти и результаты nvprof на NVIDIA Pascal
Я провожу эксперимент по объединению памяти на Паскале и получаю неожиданные nvprof результаты. У меня есть одно ядро, которое копирует 4 ГБ поплавков из одного массива в другой. nvprof сообщает о запутанных числах для...
1044 просмотров
schedule 25.05.2022

Множественные обращения к основной памяти и выполнение вне очереди
Предположим, что у меня есть два указателя, которые указывают на несвязанные адреса, которые не кэшируются, поэтому при разыменовании они оба должны будут идти полностью из основной памяти. int load_and_add(int *pA, int *pB) { int a = *pA;...
410 просмотров

Чтение выровненной памяти с использованием быстрого доступа u32 может привести к проблемам строгого алиасинга в сочетании с встраиванием.
У меня есть функция, которая по существу создает хэш-значение для произвольной области памяти. Входной аргумент использует тип const void* , как способ сказать «это может быть что угодно». Итак по существу: unsigned hash(const void* ptr, size_t...
70 просмотров
schedule 23.07.2022

Программа, использующая максимальную память в Linux
Скажем, в linux запущено 3-4 приложения, интенсивно использующих память, например, любое приложение для обработки видео. Эти приложения используют разный объем оперативной памяти, и их схемы доступа к памяти также различаются. Кроме того, скажем,...
320 просмотров
schedule 01.09.2022

Алгоритм распараллеливания OpenMP C
в книге «Использование OpenMP» приведен пример плохого доступа к памяти в C, и я думаю, что это главная проблема в моей попытке распараллелить алгоритм Гаусса. Пример выглядит примерно так: k= 0 ; for( int j=0; j<n ; j++) for(int i =...
533 просмотров
schedule 27.12.2022

Доступ к объектам и структурам и вычисление смещения адреса
Я пишу простую виртуальную машину, и у меня есть вопрос о реализации доступа к объектам и членам структуры. Так как начальный адрес программы произволен при каждом запуске, то и впоследствии адрес каждого из ее объектов тоже произволен. Таким...
407 просмотров
schedule 20.06.2023

Как подготовить большой объем данных для векторных инструкций (OpenCL)?
Я выполняю параллельную обработку данных в OpenCL и хотел бы увеличить пропускную способность с помощью векторных инструкций (SIMD). Чтобы использовать int4, double2 и т. д., мне нужно прочесать массивы входных данных. Как лучше всего это сделать?...
101 просмотров
schedule 24.05.2023

Печатайте комнаты, но доступ только один раз
Я пытался распечатать комнаты из этой проблемы . Я использовал символы рисования прямоугольников из расширенного ASCII , чтобы проверить это, поэтому я понимаю, что это ограничивает область, которую мой код будет компилироваться. Краткое...
58 просмотров
schedule 25.05.2023

Нарушение доступа к памяти в C
Я создал программу периодической таблицы на C с динамическим полем, или, по крайней мере, я пытался. Позже я дополню программу остальными 116 элементами, а пока будет вот так. Компилятор ничего не говорит, но я получаю ошибку времени выполнения:...
1017 просмотров
schedule 24.10.2022

Динамический массив с Frama-C и Eva
В https://stackoverflow.com/a/57116260/946226 я узнал, как проверить, что функция foo , которая работает на буфер (заданный начальным и конечным указателем) на самом деле только читает из него, но создает репрезентативную функцию main , которая...
154 просмотров

Perf сообщает о некоторых инструкциях прямого перехода как об инструкциях доступа к памяти
Я использовал следующую команду perf для выборки доступа чтения пользовательского пространства к DRAM с помощью evince : perf record -d --call-graph dwarf -c 100 -e mem_load_uops_retired.l3_miss:uppp /opt/evince-3.28.4/bin/evince Как...
78 просмотров