Custom Optimization flags

2011-04-15 Thread John
Hey guys,

I've got a couple of quick questions regarding building openSSL with
custom compiler optimization flags. I'm attempting to optimize the
builds of some select OS components specifically for the Intel Atom
under Linux, (I'm using the 2.6.37 kernel, glibc 2.13, binutils 2.21,
gcc 4.5.2; my toolchain has been optimized mostly with the CFLAGS='-O3
-fomit-frame-pointer -march=atom -mtune=atom') and am wondering the
following:

  * How sensitive is it that the openSSL testsuite (make test) will
detect incorrect aggressive compiler optimizations? My guess as to an
answer is 'very', given the size of the testsuite, and the sensitivity
to incorrect data that the crypto problem-space exhibits.
  * Can the openSSL build system detect the specific x86 extensions that
a given processor supports, and include the relevant asm code? (This may
be done at run-time dynamically instead, but how does the library know
what the fastest code path should be?)
  * Does OpenSSL 1.0.0d have a code-path for the Atom?
  * Does anyone else have any experience involving tuning OpenSSL for
the Atom? If so, I'd like to hear the specifics of your results in
optimizing for this processor. If you have had any experience, I'd
encourage you to share your results either on-list or privately.
  * (probably more of a question for the dev list): openssl does not
have a parallel-build-safe build system... Is there a way to benchmark
multi-threaded processors  multi-core processors using the test-suite
that makes use of every possible execution path? This would be a
remarkably useful (synthetic) benchmark for real-world crypto
performance on various architectures.

Provided that I had a bit of direction and support, I'd be willing to
add it to the test suite in small patches. I *would* need to know more
than I currently know about crypto though :)

For those wondering, this is the compile line I'm using with gcc 4.5.2:
gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB 
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN \
-DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -march=atom \
-mtune=atom -fomit-frame-pointer -pipe -Wall
-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 
-DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
-DMD5_ASM -DRMD160_ASM -DAES_ASM -DWHIRLPOOL_ASM

For those wondering, I'm seeing test suite run-times of about 2 + 1/4
minutes to run using single-thread execution on an atom.

Thanks for your help,
John
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: Custom Optimization flags

2011-04-15 Thread Eric S. Eberhard
In real life I have found various optimizations to cause more trouble 
than not, and to not really change real-world performance.  Unless 
you are in a hard loop encrypting/decrypting I don't think anyone 
will notice.  I do 10s of thousands of encryption/decryption calls 
each day and they add no noticeable change to performance.  If it 
becomes a hassle, my advise, don't bother. Eric


At 11:24 PM 4/14/2011, you wrote:

Hey guys,

I've got a couple of quick questions regarding building openSSL with
custom compiler optimization flags. I'm attempting to optimize the
builds of some select OS components specifically for the Intel Atom
under Linux, (I'm using the 2.6.37 kernel, glibc 2.13, binutils 2.21,
gcc 4.5.2; my toolchain has been optimized mostly with the CFLAGS='-O3
-fomit-frame-pointer -march=atom -mtune=atom') and am wondering the
following:

  * How sensitive is it that the openSSL testsuite (make test) will
detect incorrect aggressive compiler optimizations? My guess as to an
answer is 'very', given the size of the testsuite, and the sensitivity
to incorrect data that the crypto problem-space exhibits.
  * Can the openSSL build system detect the specific x86 extensions that
a given processor supports, and include the relevant asm code? (This may
be done at run-time dynamically instead, but how does the library know
what the fastest code path should be?)
  * Does OpenSSL 1.0.0d have a code-path for the Atom?
  * Does anyone else have any experience involving tuning OpenSSL for
the Atom? If so, I'd like to hear the specifics of your results in
optimizing for this processor. If you have had any experience, I'd
encourage you to share your results either on-list or privately.
  * (probably more of a question for the dev list): openssl does not
have a parallel-build-safe build system... Is there a way to benchmark
multi-threaded processors  multi-core processors using the test-suite
that makes use of every possible execution path? This would be a
remarkably useful (synthetic) benchmark for real-world crypto
performance on various architectures.

Provided that I had a bit of direction and support, I'd be willing to
add it to the test suite in small patches. I *would* need to know more
than I currently know about crypto though :)

For those wondering, this is the compile line I'm using with gcc 4.5.2:
gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN \
-DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -march=atom \
-mtune=atom -fomit-frame-pointer -pipe -Wall
-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2
-DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
-DMD5_ASM -DRMD160_ASM -DAES_ASM -DWHIRLPOOL_ASM

For those wondering, I'm seeing test suite run-times of about 2 + 1/4
minutes to run using single-thread execution on an atom.

Thanks for your help,
John
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org



Eric S. Eberhard
(928) 567-3727  Voice
(928) 567-6122  Fax
(928) 301-7537   Cell

Vertical Integrated Computer Systems, LLC
Metropolis Support, LLC

For Metropolis support and VICS MBA Supporthttp://www.vicsmba.com

Pictures of Snake in Spring

http://www.facebook.com/album.php?aid=115547id=1409661701l=1c375e1f49

Pictures of Camp Verde

http://www.facebook.com/album.php?aid=12771id=1409661701l=fc0e0a2bcf

Pictures of Land Cruiser in Sedona

http://www.facebook.com/album.php?aid=50953id=1409661701

Pictures of Flagstaff area near our cabin

http://www.facebook.com/album.php?aid=12750id=1409661701

Pictures of Cheryl in a Horse Show

http://www.facebook.com/album.php?aid=32484id=1409661701


Pictures of the AZ Desert

http://www.facebook.com/album.php?aid=58827id=1409661701

(You can see why we love this state :-) )








__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org