[OT] Re: amd64 vs x86_64 w rpm-ie

Marek Guevara Braun mguevara w acn.waw.pl
Pią, 18 Mar 2005, 00:57:19 CET


Paweł Sikora wrote:
> wybacz, ale jestem do tylu, bo slyszaleom o czyms takim jak "nowe P4".
> ma to jaks nazwe?

Jest to linia Pentium 4 Prescott oznaczona numerkami 600 (te z 500 są
"zwykłymi" P4) mają 2MB cache 2-giego stopnia. W związku z naturalną
wewnętrzną konkurencją z IA64 Intel nie nagłaśnia zbytnio wprowadzenia
tej funkcjonalności w nowych modelach.

> nie mowie, ze sa zle, ale ich cena i wsparcie tylko ze strony komercyjnego
> icc zabija rozwoj wolnego oprogramowania. sami sobie kopia grob nie udzielajac
> sie zbytnio w gcc.

ZTCMW obecna architektura generowania i optymalizacji kodu wynikowego
przez GCC nie pasuje do modelu programowego IA64 - stąd programy
kompilowane GCC i benchmarkowane na IA64 wypadają zwykle słabo
w porównaniu z wersją zbudowaną w referencyjnym ICC.

Jak jest w GCC4 nie wiem - coś tam dla IA64 jest dodane.

>>Anyway. dużo ciekawiej się zrobi jak GCC zacznie umieć automatycznie
>>wykorzystywać rejestry XMM i instrukcje SSE - ponoć GCC4 ma mieć
>>autowektoryzację kodu (robioną przez ludzi IBMa z Izraela)
> 
> gcc4 juz umie (-ftree-vectorize)

BTW. GCC4 działa już ok? Czytałem że to jeszcze jest _pre. Warto
budować?

>>- SSE jest w procesorach już od ładnych paru lat, ale by z tego
>>korzystać to albo programujesz w asemblerze albo korzystasz z bliotek
>>intela opakowujących asembler w C (albo używasz icc ;-)-
> 
> ze co? assembler albo icc?
> wasc raczysz zerknac w katalog /usr/lib/gcc/i686-pld-linux/4.0.0/include/
> tam zalegaja ladne pliczki:
> emmintrin.h, mmintrin.h, pmmintrin.h, mm3dnow.h, xmmintrin.h

Dokładnie o tych plikach pisałem:
http://www.intel.com/cd/ids/developer/asmo-na/eng/59644.htm?prn=Y
http://www.intel.com/cd/ids/developer/asmo-na/eng/59645.htm?prn=Y

Ale już w jądrze do trzeba inline asma raczej użyć (vide raid6 - gdzie 
jest użyte SSE2) bo include <xmmintirn.h> nie przejdzie :-(

> gcc narzedzia dla mmx/sse/3dnow z poziomu C udostepnia od dluzszej
> chwili juz, a intel jedynie swoje icc ktore nawet kernela bez
> specjalistycznyc zabiegow zbudowac nie moze.

No dobra, a czy dzięki tym narzędziom, bez inline asm, zbudujesz 
wykorzystujące rejestry XMM jądro systemu? W GCC4 być może już tak,
ale przy pomocy "obecnie nam panującego" GCC 3.x?

Co do niemożności zbudowania jądra Linuksa przez ICC to chyba wiesz
dlaczego?

Pozdrawiam,
Marek




Więcej informacji o liście dyskusyjnej pld-devel-pl