@@ -3,8 +3,8 @@ NumExpr: Fast numerical expression evaluator for NumPy
33======================================================
44
55:Author: David M. Cooke, Francesc Alted, and others.
6- :Maintainer: Robert A. McLeod
7- :Contact: robbmcleod @gmail.com
6+ :Maintainer: Francesc Alted
7+ :Contact: faltet @gmail.com
88:URL: https://github.com/pydata/numexpr
99:Documentation: http://numexpr.readthedocs.io/en/latest/
1010:Travis CI: |travis |
@@ -24,20 +24,6 @@ NumExpr: Fast numerical expression evaluator for NumPy
2424.. |version | image :: https://img.shields.io/pypi/v/numexpr.png
2525 :target: https://pypi.python.org/pypi/numexpr
2626
27- IMPORTANT NOTE: NumExpr is looking for maintainers!
28- ---------------------------------------------------
29-
30- After 5 years as a solo maintainer (and performing a most excellent work), Robert McLeod
31- is asking for a well deserved break. So the NumExpr project is looking for a new
32- maintainer for a package that is used in pandas, PyTables and many other packages.
33- If you have benefited of NumExpr capabilities in the past, and are willing to contribute
34- back to the community, we would be happy to hear about you!
35-
36- We are looking for someone that is knowledgeable about compiling extensions, and that is
37- ready to spend some cycles in making releases (2 or 3 a year, maybe even less!).
38- Interested? just open a new ticket here and we will help you onboarding.
39-
40- Thank you!
4127
4228What is NumExpr?
4329----------------
@@ -68,19 +54,19 @@ an integrated computing virtual machine. The array operands are split
6854into small chunks that easily fit in the cache of the CPU and passed
6955to the virtual machine. The virtual machine then applies the
7056operations on each chunk. It's worth noting that all temporaries and
71- constants in the expression are also chunked. Chunks are distributed among
72- the available cores of the CPU, resulting in highly parallelized code
57+ constants in the expression are also chunked. Chunks are distributed among
58+ the available cores of the CPU, resulting in highly parallelized code
7359execution.
7460
7561The result is that NumExpr can get the most of your machine computing
7662capabilities for array-wise computations. Common speed-ups with regard
7763to NumPy are usually between 0.95x (for very simple expressions like
78- :code: `'a + 1' `) and 4x (for relatively complex ones like :code: `'a*b-4.1*a > 2.5*b' `),
79- although much higher speed-ups can be achieved for some functions and complex
64+ :code: `'a + 1' `) and 4x (for relatively complex ones like :code: `'a*b-4.1*a > 2.5*b' `),
65+ although much higher speed-ups can be achieved for some functions and complex
8066math operations (up to 15x in some cases).
8167
82- NumExpr performs best on matrices that are too large to fit in L1 CPU cache.
83- In order to get a better idea on the different speed-ups that can be achieved
68+ NumExpr performs best on matrices that are too large to fit in L1 CPU cache.
69+ In order to get a better idea on the different speed-ups that can be achieved
8470on your platform, run the provided benchmarks.
8571
8672Installation
@@ -89,32 +75,32 @@ Installation
8975From wheels
9076^^^^^^^^^^^
9177
92- NumExpr is available for install via `pip ` for a wide range of platforms and
93- Python versions (which may be browsed at: https://pypi.org/project/numexpr/#files).
78+ NumExpr is available for install via `pip ` for a wide range of platforms and
79+ Python versions (which may be browsed at: https://pypi.org/project/numexpr/#files).
9480Installation can be performed as::
9581
9682 pip install numexpr
9783
98- If you are using the Anaconda or Miniconda distribution of Python you may prefer
84+ If you are using the Anaconda or Miniconda distribution of Python you may prefer
9985to use the `conda ` package manager in this case::
10086
10187 conda install numexpr
10288
10389From Source
10490^^^^^^^^^^^
10591
106- On most \* nix systems your compilers will already be present. However if you
92+ On most \* nix systems your compilers will already be present. However if you
10793are using a virtual environment with a substantially newer version of Python than
10894your system Python you may be prompted to install a new version of `gcc ` or `clang `.
10995
110- For Windows, you will need to install the Microsoft Visual C++ Build Tools
111- (which are free) first. The version depends on which version of Python you have
96+ For Windows, you will need to install the Microsoft Visual C++ Build Tools
97+ (which are free) first. The version depends on which version of Python you have
11298installed:
11399
114100https://wiki.python.org/moin/WindowsCompilers
115101
116- For Python 3.6+ simply installing the latest version of MSVC build tools should
117- be sufficient. Note that wheels found via pip do not include MKL support. Wheels
102+ For Python 3.6+ simply installing the latest version of MSVC build tools should
103+ be sufficient. Note that wheels found via pip do not include MKL support. Wheels
118104available via `conda ` will have MKL, if the MKL backend is used for NumPy.
119105
120106See `requirements.txt ` for the required version of NumPy.
@@ -132,19 +118,19 @@ Do not test NumExpr in the source directory or you will generate import errors.
132118Enable Intel® MKL support
133119^^^^^^^^^^^^^^^^^^^^^^^^^
134120
135- NumExpr includes support for Intel's MKL library. This may provide better
136- performance on Intel architectures, mainly when evaluating transcendental
137- functions (trigonometrical, exponential, ...).
121+ NumExpr includes support for Intel's MKL library. This may provide better
122+ performance on Intel architectures, mainly when evaluating transcendental
123+ functions (trigonometrical, exponential, ...).
138124
139- If you have Intel's MKL, copy the `site.cfg.example ` that comes with the
140- distribution to `site.cfg ` and edit the latter file to provide correct paths to
141- the MKL libraries in your system. After doing this, you can proceed with the
125+ If you have Intel's MKL, copy the `site.cfg.example ` that comes with the
126+ distribution to `site.cfg ` and edit the latter file to provide correct paths to
127+ the MKL libraries in your system. After doing this, you can proceed with the
142128usual building instructions listed above.
143129
144- Pay attention to the messages during the building process in order to know
145- whether MKL has been detected or not. Finally, you can check the speed-ups on
146- your machine by running the `bench/vml_timing.py ` script (you can play with
147- different parameters to the `set_vml_accuracy_mode() ` and `set_vml_num_threads() `
130+ Pay attention to the messages during the building process in order to know
131+ whether MKL has been detected or not. Finally, you can check the speed-ups on
132+ your machine by running the `bench/vml_timing.py ` script (you can play with
133+ different parameters to the `set_vml_accuracy_mode() ` and `set_vml_num_threads() `
148134functions in the script so as to see how it would affect performance).
149135
150136Usage
0 commit comments