crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Загружено только 50% ЦП
RazrFalcon
  опции профиля:
сообщение 24.5.2010, 13:21
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Проблема в том, что как всегда, проги обычные так и написаные и мной съедают только половину одного ядра.
Как можно добиться полной загрузки ядра (про два молчу так как распараллеливать нечего), возможно ли используя openMP добиться полной загрузки?
Или как разблокировать, в моем случае Win7 64, на полную загрузку ядра как у "мощьных" прог или кодеров видео?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 24.5.2010, 14:11
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


Цитата(RazrFalcon @ 24.5.2010, 13:21) *
Проблема в том, что как всегда, проги обычные так и написаные и мной съедают только половину одного ядра.
Как можно добиться полной загрузки ядра (про два молчу так как распараллеливать нечего), возможно ли используя openMP добиться полной загрузки?
Или как разблокировать, в моем случае Win7 64, на полную загрузку ядра как у "мощьных" прог или кодеров видео?

смотря что твоя прога делает,
напиши такой код
while(true) {
  int *a = new int[1024];
  delete [] a;
}


запусти и увидишь что ядро полностью загружено

Чем твоя прога загружает процессор? Каким алгоритмом?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 24.5.2010, 14:31
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Цитата(DIMEDROLL @ 24.5.2010, 14:11) *
смотря что твоя прога делает,
напиши такой код
while(true) {
  int *a = new int[1024];
  delete [] a;
}


запусти и увидишь что ядро полностью загружено

Чем твоя прога загружает процессор? Каким алгоритмом?


Ну как и ожидалось твой код тоже 26-44% только, алгоритмы разные у меня: начиная от ресайза tableWidget->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents); который хавает как раз 49% и к примеру fasedetection в openCV, ну и всякие мелочи типа переноса цвета пикселя изображения в массив, или масштабирование той самой картинки, да и вообще любые действия которые не мгновенно срабатывают, а занимают несколько секунд. Проблема в том что я не сталкивался с openMP и подобными даже qt дополнениями, но и в том что по сути распараллеливать в большинстве случаев и нечего (например в таблице).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 24.5.2010, 14:52
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


Цитата(RazrFalcon @ 24.5.2010, 14:31) *
Ну как и ожидалось твой код тоже 26-44%

Это в обычном Windows Console Application? Хм, очень странно. Это либо ОС блокирует либо софтина(антивирус например). Ты под правами администратора запускаешь?
Проверю у себя на 7-ке х64, когда перезагружусь... Я сейчас на ХР.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 24.5.2010, 15:02
Сообщение #5


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Цитата(DIMEDROLL @ 24.5.2010, 14:52) *
Это в обычном Windows Console Application?

Неее... я обычное ГУЙ делал, но мне то смысла нет делать консольное, у меня все проги 100% ГУЙ. Так что это не выход.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 25.5.2010, 16:09
Сообщение #6


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Цитата(RazrFalcon @ 24.5.2010, 13:21) *
Проблема в том, что как всегда, проги обычные так и написаные и мной съедают только половину одного ядра.
Как можно добиться полной загрузки ядра (про два молчу так как распараллеливать нечего), возможно ли используя openMP добиться полной загрузки?
Или как разблокировать, в моем случае Win7 64, на полную загрузку ядра как у "мощьных" прог или кодеров видео?

Прошу прощения, действительно 100% 1-о ядро, просто в процес пишется среднее между 2-я ядрами вот и попутал :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 14:37