Intel Atom na smartfonach: sztuczki z kompilatorem pozwoliły na manipulowanie wynikami benchmarku

Intel Atom na smartfonach: sztuczki z kompilatorem pozwoliły na manipulowanie wynikami benchmarku15.07.2013 11:14

Kilka tygodni temu w Sieci opublikowano zaskakujące wyniki testów wydajności smartfonów, wśród którychznalazł się model z procesorem Intel Atom Clover Trail (Lenovo K900).Z testów wynikało, że dwurdzeniowy CPU Intela pozostawił konkurencjębazującą na procesorach ARM (nawet tych czterordzeniowych) bez szans,i to nie tylko pod względem wydajności, ale i zużycia energii. Czyżbywięc na tym polu projektowana od początku z myślą oenergooszczędności architektura ARM przegrała w końcu z x86,architekturą projektowaną z myślą przede wszystkim o wydajności?Niekoniecznie, gdyż w grę wchodzą tu pewne software'owe…manipulacje.Exophase, jeden z czytelników serwisu AnandTech przyjrzał siębliżej benchmarkowi, który posłużył do uzyskania tych bolesnych dlaARM-ów wyników. To AnTuTu,rekompilacja kodu z lat 90, przygotowanego przez nieistniejący jużmagazyn Byte. Benchmark wygląda na dość solidny i kompleksowy,pozwala mierzyć wydajność pamięci, procesora, grafiki 2D i 3D, czyoperacji I/O na pamięci masowej i z bazami danych. Pod tym względemnie można mu niczego zarzucić. Problem tkwi gdzie indziej – wkompilatorach wykorzystywanych do zbudowania uruchamialnej wersji.[img=armwrestling-opener]Okazuje się, że wykorzystana w testach wersja benchmarkaskompilowana została dla procesorów Intel Atom za pomocą kompilatoraICC, podczas gdy wersję dla ARM skompilowano za pomocą GCC.Naszym starszym Czytelnikom mogą się już w tej sytuacji włączyćalarmowe lampki – pamiętają, jak podczas dochodzenia w sprawiewytoczonego przez AMD pozwu antymonopolowego przeciwko Intelowiokazało się, że kompilator Intela włącza optymalizacje tylko dlaprocesorów „Genuine Intel”, nie sprawdzając faktycznychmożliwości docelowego układu. Dla procesorów VIA, jedynych w którychmożna było zmienić ciąg CPUID, wystarczyła ta zmiana, by zwiększyćwydajność kodu kompilowanego przez ICC o nawet 30%. Choć tuoczywiście taka sytuacja wystąpić nie mogła (ICC generuje kod tylkona x86), to alarm jest poniekąd uzasadniony: skompilowana przez ICCwersja benchmarka otrzymała automatycznąwektoryzację kodu wynikowego, podczas gdy w kompilowanej zapomocą GCC wersji na ARM nie włączono rozszerzeńNEON (rozszerzeń ARM-a dla architektury SIMD). To prawda, GCC samo tych rozszerzeń nie włącza, ale wydaje się, żeskoro wersję na Atomy zbudowano za pomocą intelowskiego kompilatora,to wypadałoby wersję na ARM-y skompilować za pomocą kompilatora odpoczątku projektowanego z myślą o ARM, np. Keila,by z rozszerzeń NEON korzystać – w końcu są dostępne napraktycznie wszystkich nowoczesnych układach ARM, zarówno Cortex A9jak i Cortex A15. Problemy z kodem wygenerowanym przez ICC na tym sięnie skończyły – według Exophase kompilator celowo psuje wielekonstrukcji wykorzystanych w benchmarku. Na przykład jedna z pętli,która powinna zostać wykonana 32 razy, zostaje wykonana tylko raz, anastępnie zgłasza, że zadanie zostało ukończone.Zarówno w serwisach takich jak Slashdot, jak i na forach serwisówpoświęconych sprzętowi komputerowemu trwają dyskusje na temat tegoincydentu, który być może jest zwykłym zbiegiem okoliczności, ale byćmoże też jest częścią zamierzonych działań, mających na celuwykazanie wartości architektury x86 w urządzeniach przenośnych.Całkiem niedawno przecież Intel udostępnił kompletny zestawnarzędzi deweloperskich na Androida/x86, a tu nagle wypływająraporty uznanych analityków, wykazujące o ile Atom sprawuje sięlepiej od ARM-ów? Wątpliwości trudno będzie wyciszyć, szczególnie, żeudało się porównać, o ile zmieniły się wyniki poszczegónych testów.Między wykorzystaną w badaniach ABI Research wersją 3.3 AnTuTu ipoprzednią wersją 2.9.3, różnice są dramatyczne, i trudno je zrzucićna zwykły przypadek – dla testu wydajności RAM wynik Atoma (naMotoroli RAZRi) wzrósł o 292%, podczas gdy wynik ARM-owego procesora(w Samsungu Galaxy S4) wzrósł jedynie o 53%. Sprawa wygląda jeszczebardziej podejrzanie, gdy porówna się wyniki innych benchmarków,takich jak Quadrant, Linpack i Geekbench – tam przewaga układówARM w niektórych testach była nawet trzykrotna.[img=antutu-charge][join][img=arm-cpu1]A teraz ciekawostka – AnTuTu wydało nową wersję 3.3.2swojego benchmarka. Wyniki dla urządzeń z procesorami Intel Atom sąjuż znacznie skromniejsze, często nawet o 20-50%. Wniosek jestoczywisty – zamierzone lub nie błędy metodyczne mogą uczynićkażdy pomiar pozbawionym merytorycznego znaczenia. Szkoda tylko, żebłędy metodyczne nie pozbawiają jednocześnie takiego badaniaznaczenia marketingowego.

Źródło artykułu:www.dobreprogramy.pl
Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.