Re: [Numpy-discussion] Linking against MKL but still slow?

2012-03-27 Thread Christoph Dann
Thanks for your response, David.
> What do you mean by own extensions to NumPy ? If you mean building
> extensions against the C API of NumPy, then you don't need to build your own
> NumPy. Building NumPy with Intel Compilers and MKL is a non-trivial process,
> so I would rather avoid it.
I want to have exact control which version of numpy I use. In
particular, I want to use the current development version.

> If you still want to build it by yourself, could you give us the full output
> of your build ?
My site.cfg looks like:
[mkl]
library_dirs = /opt/intel/lib/intel64:/opt/intel/mkl/lib/intel64
include_dirs = /opt/intel/include/
mkl_libs = mkl_def, mkl_intel_lp64, mkl_intel_thread, mkl_core, iomp5
lapack_libs = mkl_lapack95_lp64

and I build numpy by
python setup.py config --compiler=intelem --fcompiler=intelem
build_clib --compiler=intelem --fcompiler=intelem build_ext
--compiler=intelem --fcompiler=intelem install > log.txt

https://gist.github.com/2213552 is the content of log.txt. There were
no outputs on stderr.
I asume that the warnings can be ignored. However, there is a frequent error:

_configtest.c(5): error: the size of an array must be greater than zero
  static int test_array [1 - 2 * !(((long) (sizeof
(npy_check_sizeof_type))) == 12)];
 ^

compilation aborted for _configtest.c (code 2)

How can I get rid of it?

Thanks,
Christoph
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Linking against MKL but still slow?

2012-03-26 Thread David Cournapeau
Hi Christoph,

On Mon, Mar 26, 2012 at 10:06 AM, Christoph Dann
wrote:

> Dear list,
>
> so far I used Enthoughts Python Distribution which contains a compiled
> version of numpy linked against MKL. Now, I want to implement my own
> extensions to numpy, so I need my build numpy on my own. So, I installed
> Intel Parallel studio including MKL and the C / Fortran compilers.
>

What do you mean by own extensions to NumPy ? If you mean building
extensions against the C API of NumPy, then you don't need to build your
own NumPy. Building NumPy with Intel Compilers and MKL is a non-trivial
process, so I would rather avoid it.

If you still want to build it by yourself, could you give us the full
output of your build ?

David
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] Linking against MKL but still slow?

2012-03-26 Thread Christoph Dann
Dear list,

so far I used Enthoughts Python Distribution which contains a compiled 
version of numpy linked against MKL. Now, I want to implement my own 
extensions to numpy, so I need my build numpy on my own. So, I installed 
Intel Parallel studio including MKL and the C / Fortran compilers.

I linked against the same libraries as Enthought:

In [2]: np.show_config()
lapack_opt_info:
libraries = ['mkl_lapack95_lp64', 'iomp5', 'mkl_def', 'mkl_intel_lp64', 
'mkl_intel_thread', 'mkl_core', 'pthread']
library_dirs = ['/opt/intel/lib/intel64', '/opt/intel/mkl/lib/intel64']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['/opt/intel/include/']
blas_opt_info:
libraries = ['iomp5', 'mkl_def', 'mkl_intel_lp64', 'mkl_intel_thread', 
'mkl_core', 'pthread']
library_dirs = ['/opt/intel/lib/intel64', '/opt/intel/mkl/lib/intel64']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['/opt/intel/include/']
lapack_mkl_info:
libraries = ['mkl_lapack95_lp64', 'iomp5', 'mkl_def', 'mkl_intel_lp64', 
'mkl_intel_thread', 'mkl_core', 'pthread']
library_dirs = ['/opt/intel/lib/intel64', '/opt/intel/mkl/lib/intel64']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['/opt/intel/include/']
blas_mkl_info:
libraries = ['iomp5', 'mkl_def', 'mkl_intel_lp64', 'mkl_intel_thread', 
'mkl_core', 'pthread']
library_dirs = ['/opt/intel/lib/intel64', '/opt/intel/mkl/lib/intel64']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['/opt/intel/include/']
mkl_info:
libraries = ['iomp5', 'mkl_def', 'mkl_intel_lp64', 'mkl_intel_thread', 
'mkl_core', 'pthread']
library_dirs = ['/opt/intel/lib/intel64', '/opt/intel/mkl/lib/intel64']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['/opt/intel/include/']


and used the intel compilers to build numpy. Since I have an i7 processor I 
compiled including AVX instructions. Yet, EPD is double as fast as my own 
build executing the simple benchmark from: 
http://dpinte.wordpress.com/2010/01/15/numpy-performance-improvement-with-the-mkl/
I expected at least comparable performance. How is such a decrease 
possible? Did I miss a significant part to make numpy really fast?

Thanks
Christoph
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] Linking against MKL but still slow?

2012-03-26 Thread Christoph Dann
Dear list,

so far I used Enthoughts Python Distribution which contains a compiled
version of numpy linked against MKL. Now, I want to implement my own
extensions to numpy, so I need my build numpy on my own. So, I
installed Intel Parallel studio including MKL and the C / Fortran
compilers.

I linked against the same libraries as Enthought:

In [2]: np.show_config()
lapack_opt_info:
    libraries = ['mkl_lapack95_lp64', 'iomp5', 'mkl_def',
'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'pthread']
    library_dirs = ['/opt/intel/lib/intel64', '/opt/intel/mkl/lib/intel64']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/include/']
blas_opt_info:
    libraries = ['iomp5', 'mkl_def', 'mkl_intel_lp64',
'mkl_intel_thread', 'mkl_core', 'pthread']
    library_dirs = ['/opt/intel/lib/intel64', '/opt/intel/mkl/lib/intel64']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/include/']
lapack_mkl_info:
    libraries = ['mkl_lapack95_lp64', 'iomp5', 'mkl_def',
'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'pthread']
    library_dirs = ['/opt/intel/lib/intel64', '/opt/intel/mkl/lib/intel64']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/include/']
blas_mkl_info:
    libraries = ['iomp5', 'mkl_def', 'mkl_intel_lp64',
'mkl_intel_thread', 'mkl_core', 'pthread']
    library_dirs = ['/opt/intel/lib/intel64', '/opt/intel/mkl/lib/intel64']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/include/']
mkl_info:
    libraries = ['iomp5', 'mkl_def', 'mkl_intel_lp64',
'mkl_intel_thread', 'mkl_core', 'pthread']
    library_dirs = ['/opt/intel/lib/intel64', '/opt/intel/mkl/lib/intel64']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/include/']


and used the intel compilers to build numpy. I have an Intel i7
processor and compile including AVX instructions. Yet, EPD is double
as fast as my own build executing the simple benchmark from:
http://dpinte.wordpress.com/2010/01/15/numpy-performance-improvement-with-the-mkl/
I expected at least comparable performance. How is such a decrease
possible? Did I miss a significant part to make numpy really fast?

Thanks
Christoph
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion