linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Kernel 2.6.3 patch for Intel Compiler 8.0
@ 2004-03-09 23:46 Ingo at Pyrillion
  2004-03-10  0:08 ` Norberto Bensa
  0 siblings, 1 reply; 11+ messages in thread
From: Ingo at Pyrillion @ 2004-03-09 23:46 UTC (permalink / raw)
  To: linux-kernel

Hi,

please have a look at http://www.pyrillion.org/linuxkernelpatch.html
for a working 2.6.3 patch to compile the kernel with Intel Compiler 8.0 
for Linux.

Please CC me in answers/replies to this mail.

Rgs, Ingo Kubbilun.




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernel 2.6.3 patch for Intel Compiler 8.0
  2004-03-09 23:46 Kernel 2.6.3 patch for Intel Compiler 8.0 Ingo at Pyrillion
@ 2004-03-10  0:08 ` Norberto Bensa
  2004-03-10  0:17   ` Shawn
  2004-03-10  0:18   ` AW: " Ingo at Pyrillion
  0 siblings, 2 replies; 11+ messages in thread
From: Norberto Bensa @ 2004-03-10  0:08 UTC (permalink / raw)
  To: Ingo at Pyrillion; +Cc: linux-kernel

Ingo at Pyrillion wrote:
> patch to compile the kernel with Intel Compiler 8.0
> for Linux.

Speed improvements over same kernel compiled with gcc?

Thanks,
Norberto

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernel 2.6.3 patch for Intel Compiler 8.0
  2004-03-10  0:08 ` Norberto Bensa
@ 2004-03-10  0:17   ` Shawn
  2004-03-10  0:18   ` AW: " Ingo at Pyrillion
  1 sibling, 0 replies; 11+ messages in thread
From: Shawn @ 2004-03-10  0:17 UTC (permalink / raw)
  To: Norberto Bensa; +Cc: Ingo at Pyrillion, linux-kernel

And results running resultant on an Athlon?

On Tue, 2004-03-09 at 21:08 -0300, Norberto Bensa wrote:

> Ingo at Pyrillion wrote:
> > patch to compile the kernel with Intel Compiler 8.0
> > for Linux.
> 
> Speed improvements over same kernel compiled with gcc?


^ permalink raw reply	[flat|nested] 11+ messages in thread

* AW: Kernel 2.6.3 patch for Intel Compiler 8.0
  2004-03-10  0:08 ` Norberto Bensa
  2004-03-10  0:17   ` Shawn
@ 2004-03-10  0:18   ` Ingo at Pyrillion
  2004-03-10  0:50     ` Norihiko Mukouyama
  1 sibling, 1 reply; 11+ messages in thread
From: Ingo at Pyrillion @ 2004-03-10  0:18 UTC (permalink / raw)
  To: 'Norberto Bensa'; +Cc: linux-kernel

I used the patch to compile two identical kernels with gcc 3.3.3 and
icc 8.0 with oprofile support built in.
The optimization switches were chosen quite conservative, i.e.
"-O2 -Ob1", no IPO, and of course: no MMX, SSE, and SSE2 stuff inside
the kernel (thus disabling Intel's great vectorizer).
Profiling: lmbench ran ten times but time measurements were taken from
oprofile (on Pentium 4, GLOBAL_POWER_EVENTS in kernel space only, 
counter overflow: 3.000).
Results: 33% of the lmbench procs faster on icc, 66% faster on gcc.

Thus, take the kernel patch as a good basis for modifying the 
compiler switches and other things to get more performance gains. As
I know, a lot of people are looking for a patch.

Please check the patch file; you have to modify a lot of things in 2.6.3
to create a quite stable working version of the kernel. The patch is not
just about changing some minor Makefile things...

Kind rgs., Ingo.

-----Ursprüngliche Nachricht-----
Von: Norberto Bensa [mailto:norberto+linux-kernel@bensa.ath.cx] 
Gesendet: Mittwoch, 10. März 2004 01:09
An: Ingo at Pyrillion
Cc: linux-kernel@vger.kernel.org
Betreff: Re: Kernel 2.6.3 patch for Intel Compiler 8.0


Ingo at Pyrillion wrote:
> patch to compile the kernel with Intel Compiler 8.0
> for Linux.

Speed improvements over same kernel compiled with gcc?

Thanks,
Norberto


^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: Kernel 2.6.3 patch for Intel Compiler 8.0
  2004-03-10  0:18   ` AW: " Ingo at Pyrillion
@ 2004-03-10  0:50     ` Norihiko Mukouyama
  2004-03-10  0:56       ` Norberto Bensa
  2004-03-10  0:58       ` AW: " Ingo at Pyrillion
  0 siblings, 2 replies; 11+ messages in thread
From: Norihiko Mukouyama @ 2004-03-10  0:50 UTC (permalink / raw)
  To: Ingo at Pyrillion, 'Norberto Bensa'; +Cc: linux-kernel

Hi All!!

>I used the patch to compile two identical kernels with gcc 3.3.3 and
>icc 8.0 with oprofile support built in.
>The optimization switches were chosen quite conservative, i.e.
>"-O2 -Ob1", no IPO, and of course: no MMX, SSE, and SSE2 stuff inside
>the kernel (thus disabling Intel's great vectorizer).
>Profiling: lmbench ran ten times but time measurements were taken from
>oprofile (on Pentium 4, GLOBAL_POWER_EVENTS in kernel space only, 
>counter overflow: 3.000).
>Results: 33% of the lmbench procs faster on icc, 66% faster on gcc.

Really???

If it is ture using icc 66% faster than gcc., It is wonderful. 
Could you show us detail data to  lmbench results.

Thanks!!

Norihiko




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernel 2.6.3 patch for Intel Compiler 8.0
  2004-03-10  0:50     ` Norihiko Mukouyama
@ 2004-03-10  0:56       ` Norberto Bensa
  2004-03-10  1:52         ` Stefan Smietanowski
  2004-03-10  0:58       ` AW: " Ingo at Pyrillion
  1 sibling, 1 reply; 11+ messages in thread
From: Norberto Bensa @ 2004-03-10  0:56 UTC (permalink / raw)
  To: Norihiko Mukouyama; +Cc: Ingo at Pyrillion, linux-kernel

Norihiko Mukouyama wrote:
> Hi All!!
>
> >Results: 33% of the lmbench procs faster on icc, 66% faster on gcc.
> If it is ture using icc 66% faster than gcc., It is wonderful.
> Could you show us detail data to  lmbench results.

I saw it the other way around: gcc is faster 66% of the time. Or did I read 
wrong?

Thanks,
Norberto

^ permalink raw reply	[flat|nested] 11+ messages in thread

* AW: Kernel 2.6.3 patch for Intel Compiler 8.0
  2004-03-10  0:50     ` Norihiko Mukouyama
  2004-03-10  0:56       ` Norberto Bensa
@ 2004-03-10  0:58       ` Ingo at Pyrillion
  1 sibling, 0 replies; 11+ messages in thread
From: Ingo at Pyrillion @ 2004-03-10  0:58 UTC (permalink / raw)
  To: 'Norihiko Mukouyama', 'Norberto Bensa'; +Cc: linux-kernel

Hi again,

please read my last mail carefully: 
"33% procs faster on icc, 66% faster on gcc"
means that gcc (GNU) is superior. But the patch is a preliminary 
version...

greetings, Ingo.

-----Ursprüngliche Nachricht-----
Von: Norihiko Mukouyama [mailto:norihiko_m@jp.fujitsu.com] 
Gesendet: Mittwoch, 10. März 2004 01:50
An: Ingo at Pyrillion; 'Norberto Bensa'
Cc: linux-kernel@vger.kernel.org
Betreff: RE: Kernel 2.6.3 patch for Intel Compiler 8.0


Hi All!!

>I used the patch to compile two identical kernels with gcc 3.3.3 and 
>icc 8.0 with oprofile support built in. The optimization switches were 
>chosen quite conservative, i.e. "-O2 -Ob1", no IPO, and of course: no 
>MMX, SSE, and SSE2 stuff inside the kernel (thus disabling Intel's 
>great vectorizer).
>Profiling: lmbench ran ten times but time measurements were taken from 
>oprofile (on Pentium 4, GLOBAL_POWER_EVENTS in kernel space only, 
>counter overflow: 3.000).
>Results: 33% of the lmbench procs faster on icc, 66% faster on gcc.

Really???

If it is ture using icc 66% faster than gcc., It is wonderful. 
Could you show us detail data to  lmbench results.

Thanks!!

Norihiko




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernel 2.6.3 patch for Intel Compiler 8.0
  2004-03-10  0:56       ` Norberto Bensa
@ 2004-03-10  1:52         ` Stefan Smietanowski
  2004-03-10  2:08           ` Norihiko Mukouyama
  0 siblings, 1 reply; 11+ messages in thread
From: Stefan Smietanowski @ 2004-03-10  1:52 UTC (permalink / raw)
  To: Norberto Bensa; +Cc: Norihiko Mukouyama, Ingo at Pyrillion, linux-kernel

Norberto Bensa wrote:

> Norihiko Mukouyama wrote:
> 
>>Hi All!!
>>
>>
>>>Results: 33% of the lmbench procs faster on icc, 66% faster on gcc.
>>
>>If it is ture using icc 66% faster than gcc., It is wonderful.
>>Could you show us detail data to  lmbench results.
> 
> 
> I saw it the other way around: gcc is faster 66% of the time. Or did I read 
> wrong?

1/3 of the things are faster with icc. 2/3 of the things are faster
with gcc. Performance numbers not given.

// Stefan

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: Kernel 2.6.3 patch for Intel Compiler 8.0
  2004-03-10  1:52         ` Stefan Smietanowski
@ 2004-03-10  2:08           ` Norihiko Mukouyama
  0 siblings, 0 replies; 11+ messages in thread
From: Norihiko Mukouyama @ 2004-03-10  2:08 UTC (permalink / raw)
  To: Stefan Smietanowski, Norberto Bensa; +Cc: Ingo at Pyrillion, linux-kernel

Hi,Stefan!!

>1/3 of the things are faster with icc. 2/3 of the things are faster
>with gcc. Performance numbers not given.

Thank you very much.
I understood that meaning.

By the way, 
 
I would like to learn the result of making his patch run on Itanium2.
Because, the difference of the performance of the compiler being sure to influence most 
remarkably.

Can  anyone try?

Thanks.

Norihiko



^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: Kernel 2.6.3 patch for Intel Compiler 8.0
@ 2004-03-12 22:31 Nakajima, Jun
  0 siblings, 0 replies; 11+ messages in thread
From: Nakajima, Jun @ 2004-03-12 22:31 UTC (permalink / raw)
  To: Ingo at Pyrillion, Norberto Bensa; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 987 bytes --]

Ingo, Hi

We tried it (2.6.4) our side. As long as we tested, we did not need _any
changes_ to the kernel tree, and I guess what you are missing is a shell
script that calls icc converting the GCC specific options to Intel
compiler.

Attached is the script. Just type "make CC=kicc" for example.

Can you be more specific about the issue with dec_and_lock.c?

Jun

> Hi Jun,
> 
> the patch I submitted is for icc 8.0, i.e. I386 platform only.
>
> Did I understand your last message right that you even do not
> need a kernel patch for icc, i.e. I386?
>
> If so, then try to compile the 2.6.3 kernel using icc without
> applying my patch and see what happens if icc "tries" to compile
> hybrid code, i.e. mixed assembly and C statements....
> The current icc 8.0 (and also icc 7.0) makes FATAL mistakes
> compiling those mixings. Just check the object file that results
> from "dec_and_lock.c" in arch/i386/lib using a disassembler.
>
> Rgs, Ingo.
 <<kicc>> 

[-- Attachment #2: kicc --]
[-- Type: application/octet-stream, Size: 1386 bytes --]

# Kernel icc
# This is a wraper around icc to be compatible with gcc  for kernel build
#

ARGS=$@

ICCARGS="-ipo -ipo_obj"
KERNARGS="\
-D__GNUC__=3 -D__GNUC_MINOR__=0"

NEWARGS="$ICCARGS"

if [ -z "$GCC" ] 
then
	GCC=/usr/bin/gcc
fi

for ARG in $@  
do

case $ARG in
-D__KERNEL__ )
	NEWARGS="$NEWARGS $KERNARGS $ARG"
	;;

-O2 | -O3 )
	NEWARGS="$NEWARGS -O3"
	;;

-v )
	icc -V 2>&1 | grep "Version\|Intel(R)" |  perl -pi -e 'tr/\n/ /d;'
	exit 0
	;;

-help )
	icc -help
	echo
	echo kicc: Wrapper around icc for gcc compatibility
	exit  $?
	;;

-march=i686 )
	NEWARGS="$NEWARGS -tpp6"
	;;

-march=pentium4 )
	NEWARGS="$NEWARGS -tpp7"
	;;

/dev/null | *.S )
        $GCC $ARGS
        exit $?
        ;;


# ignore these gcc options
-Wstrict-prototypes | -Wwrite-strings | -Winline | -Wno-uninitialized 	\
| -Wno-format | -Wno-trigraphs | -Wno-unused | -nostdinc | -Wall	\
| -fno-inline-functions | -finhibit-size-directive | -fno-exceptions 	\
| -fno-inline | -ffloat-store | -fno-builtin | -fexceptions | -pipe 	\
| -fomit-frame-pointer | --param | max-inline-insns=* 			\
| -frename-registers | -falign-functions=* | -fno-strict-aliasing 	\
| -fno-common | -ffixed-r13 | -mb-step | -traditional 			\
| -mpreferred-stack-boundary=2 | -march=* | -malign-functions=* 	\
| -malign-jumps=* | -malign-loops=* | -gstabs )
	;;

* )
	NEWARGS="$NEWARGS $ARG"
	;;
esac

done

icc $NEWARGS 
exit $?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: Kernel 2.6.3 patch for Intel Compiler 8.0
@ 2004-03-10  2:53 Nakajima, Jun
  0 siblings, 0 replies; 11+ messages in thread
From: Nakajima, Jun @ 2004-03-10  2:53 UTC (permalink / raw)
  To: Norihiko Mukouyama, Stefan Smietanowski, Norberto Bensa
  Cc: Ingo at Pyrillion, linux-kernel

In 2.6, we already have sufficient changes for Intel IPF Compiler to
build the kernel, especially intrinscs changes, and you should not need
a patch. To make it faster, we might want to use PGO (profile guided
optimization) provided by the compiler; yes, it's available even for the
kernel with a driver.

Thanks,
Jun

>-----Original Message-----
>From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-
>owner@vger.kernel.org] On Behalf Of Norihiko Mukouyama
>Sent: Tuesday, March 09, 2004 6:08 PM
>To: Stefan Smietanowski; Norberto Bensa
>Cc: Ingo at Pyrillion; linux-kernel@vger.kernel.org
>Subject: RE: Kernel 2.6.3 patch for Intel Compiler 8.0
>
>Hi,Stefan!!
>
>>1/3 of the things are faster with icc. 2/3 of the things are faster
>>with gcc. Performance numbers not given.
>
>Thank you very much.
>I understood that meaning.
>
>By the way,
>
>I would like to learn the result of making his patch run on Itanium2.
>Because, the difference of the performance of the compiler being sure
to
>influence most
>remarkably.
>
>Can  anyone try?
>
>Thanks.
>
>Norihiko
>
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel"
in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2004-03-12 22:31 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-09 23:46 Kernel 2.6.3 patch for Intel Compiler 8.0 Ingo at Pyrillion
2004-03-10  0:08 ` Norberto Bensa
2004-03-10  0:17   ` Shawn
2004-03-10  0:18   ` AW: " Ingo at Pyrillion
2004-03-10  0:50     ` Norihiko Mukouyama
2004-03-10  0:56       ` Norberto Bensa
2004-03-10  1:52         ` Stefan Smietanowski
2004-03-10  2:08           ` Norihiko Mukouyama
2004-03-10  0:58       ` AW: " Ingo at Pyrillion
2004-03-10  2:53 Nakajima, Jun
2004-03-12 22:31 Nakajima, Jun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).