Реклама | Adv
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
Сообщения форума
Реклама | Adv

Wielordzeniowość w Wot? Chyba się da!

Дата: 04.02.2014 21:07:10
Gepard_PH: Zacznijmy może od tego co tak naprawdę się dzieje: aplikacja (a konkretnie jeden z jej najbardziej zasobożernych wątków) zamiast działać cały czas na jednym rdzeniu (procesorze logicznym) przeskakuje pomiędzy wszystkim dostępnymi, tzn. chwilę jest wykonywana na CPU1, potem chwilę na CPU2, itd. Dlatego zamiast 100% obciążenia na 1 rdzeniu mamy po 25% na czterech, albo po 50% na dwóch. Z punktu widzenia architektury systemów komputerowych opisane tutaj zabiegi są bezcelowe. Jest kilka powodów, dla których aplikacja (a konkretnie wątki) powinny pracować na tych samych rdzeniach tak długo jak to możliwe. Pierwszy z nich to architektura procesorów, które mają osobną pamięć podręczną (cache) na rdzeń (najczęściej poziomu I i II, poziom III jest dzielony). Tak długo jak wątek działa na tym samym rdzeniu, może korzystać z potrzebnych mu danych w pamięci podręcznej danego rdzenia. Gdy wątek wędruje na inny rdzeń, traci dostęp do tych danych, i muszą być one na nowo zapisane do pamięci podręcznej. Im częściej taka zmiana następuje tym więcej czasu jest marnowane na wędrówke danych między cachem poszczególnych rdzeni. Drugi powód to technologia TurboBoost i podkręcanie. W sytuacji gdy procesor może pracować np. w konfiguracji 2 x 2,9GHz lub 3,0 + 2,4, więcej sensu ma wykonywanie obliczeń na rdzeniu pracującym z największą prędkością. Wtedy korzystne może być nawet przypięcie aplikacji do jednego tylko rdzenia - tego, który pracuje z najwyższym taktowaniem. Tak samo w przypadkach procesorów przetaktowanych nierówno: np. 2 rdzenie po 4,5 GHz, 2 po 3,4 GHz lub coś podobnego.   To są oczywiście bardzo ogólne informacje i być może w jakichś szczególnych wypadkach rezultaty będą odwrotne - aczkolwiek naprawdę chciałbym zobaczyć konkretne wyniki pomiarów. Bo mówiąc szczerze komentarze "wzrosło o 10 fps" mnie nie przekonują - najprawdopodobniej jest to albo efekt placebo albo pomiar w innych warunkach (inna mapa, inne czołgi itp.). Benchmarki powinno się robić na jednej i tej samej powtórce, a fpsy zapisywać np. Frapsem do pliku.   Tak czy inaczej - spróbować można, ale trzeba umieć ocenić rezultaty. Na pewno sam sprawdzę w wolnej chwili jak opisany tutaj trik działa u mnie i podzielę się wynikami.

Реклама | Adv