Форум программистов, компьютерный форум CyberForum.ru

Производительность CPU, КЕШ, многопоточность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблемы с удалением связанного списка(С++) http://www.cyberforum.ru/cpp-beginners/thread647138.html
Здравствуйте! Передо мной стоит следующая задача: необходимо создать список, вывести его на экран и удалить. Программу необходимо запускать несколько раз, вот в этом и возник ступор. Дело в том, что программа создает список, выводит его на экран и удаляет первый раз вроде исправно, но второй раз программа выдает ошибку на выводе списка(как я понял, либо программа не правильно удаляет связанный...
C++ Логические операторы в выражениях Здравствуйте, в одном из тестов для новичков наткнулся на вопрос: каков результат работы следующего кода: int d = 5; bool b = true, c; c = ( !b || (d>3) ); Я думал будет ошибка компиляции, однако ошибся. Вот как понять третью строку? Ведь в ней говорится - "c равно false или true". Как же компилятор понимает какое значение присваивать переменной с, если у него больше нет никаких условий?... http://www.cyberforum.ru/cpp-beginners/thread647118.html
Определить количество и сумму членов последовательности C++
Даны натуральное n и целые числа a(1), a(2),...,a(n). Определить количество и сумму членов последовательности a(i), которые делятся на 5 и не делятся на 7. P.S. Необходимо написать без использования массива, помогите, пожалуйста.
Матрицы C++
Заполнить двумерный массив размером 7х7 след. образом: (см.картинку). Помогите да пацаны
C++ Не получается сделать программу добавив методы http://www.cyberforum.ru/cpp-beginners/thread647101.html
Здравствуйте! Я написал программу для расчётов, сравнения и вывода на экран двух цилиндров. Проблема заключается в том, что не могу расписать через методы (вывод на экран, расчёты, сравнения и др. операции). Не могли бы вы мне помочь? Буду очень признателен. Ссылка на прогу ниже.
C++ Error C3861: 'convert_close': identifier not found //ошибка Ребята вы пожалуйста не обращайте внимание на код, обратите только внимание на на одну ошибку. #include "stdafx.h" #include <iostream> #include <iomanip> #include <fstream> using namespace std; подробнее

Показать сообщение отдельно
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
05.09.2012, 18:21     Производительность CPU, КЕШ, многопоточность
Когда-то на работе занимался исследование префетча. Была написана такая программа - перемножение 3х мерных массивов, размером ~1000000 элементов. В коммандной строке можно задать кол-во потоков (потоки поровну делят между собой перемножаемые массивы), размер блока (размер, после перемножения которого, нужно производить следующий префетч) и вроде что-то еще, не помню.
Программа замеряет время, потраченное на перемножение всех элементов. Таким образом в программе присутствует:
- работа с потоками
- работа с кэшем
- замер производительности (времени)

Если нужно, завтра могу поискать на работе, вроде бы я ее не удалял.


Цитата Сообщение от Alex__Ch Посмотреть сообщение
при изменении размеров ... объема КЕШ памяти
так говорить не правильно, т.к. размер кэша зависит от процессора. Наверное имеется ввиду размер используемого кэша, на это как раз влияют потоки. Если они используют данные, которые находятся далеко друг от друга в памяти, то для каждого потока будет выполнена загрузка данных в кэш.

Цитата Сообщение от Alex__Ch Посмотреть сообщение
И есть ли доступ в КЕШ в этих ОС или же писать свой драйвер?
Есть, но это компиляторо-зависимые функции. Точно знаю, что есть в компиляторе gcc и Intel'овском компиляторе С++.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru