Skip to content

Commit

Permalink
Updated py-numexpr to 2.6.0.
Browse files Browse the repository at this point in the history
Fix CPU detection patch while here.

Changes from 2.5.2 to 2.6.0
===========================

- Introduced a new re_evaluate() function for re-evaluating the
  previous executed array expression without any check.  This is meant
  for accelerating loops that are re-evaluating the same expression
  repeatedly without changing anything else than the operands.  If
  unsure, use evaluate() which is safer.

- The BLOCK_SIZE1 and BLOCK_SIZE2 constants have been re-checked in
  order to find a value maximizing most of the benchmarks in bench/
  directory.  The new values (8192 and 16 respectively) give somewhat
  better results (~5%) overall.  The CPU used for fine tuning is a
  relatively new Haswell processor (E3-1240 v3).

- The '--name' flag for `setup.py` returning the name of the package
  is honored now (issue #215).


Changes from 2.5.1 to 2.5.2
===========================

- conj() and abs() actually added as VML-powered functions, preventing
  the same problems than log10() before (PR #212).  Thanks to Tom Kooij
  for the fix!


Changes from 2.5 to 2.5.1
=========================

- Fix for log10() and conj() functions.  These produced wrong results
  when numexpr was compiled with Intel's MKL (which is a popular build
  since Anaconda ships it by default) and non-contiguous data (issue
  #210).  Thanks to Arne de Laat and Tom Kooij for reporting and
  providing a nice test unit.

- Fix that allows numexpr-powered apps to be profiled with pympler.
  Thanks to @nbecker.


Changes from 2.4.6 to 2.5
=========================

- Added locking for allowing the use of numexpr in multi-threaded
  callers (this does not prevent numexpr to use multiple cores
  simultaneously).  (PR #199, Antoine Pitrou, PR #200, Jenn Olsen).

- Added new min() and max() functions (PR #195, CJ Carey).


Changes from 2.4.5 to 2.4.6
===========================

- Fixed some UserWarnings in Solaris (PR #189, Graham Jones).

- Better handling of MSVC defines. (#168, Francesc Alted).


Changes from 2.4.4 to 2.4.5
===========================

- Undone a 'fix' for a harmless data race.  (#185 Benedikt Reinartz,
  Francesc Alted).

- Ignore NumPy warnings (overflow/underflow, divide by zero and
  others) that only show up in Python3.  Masking these warnings in
  tests is fine because all the results are checked to be
  valid. (#183, Francesc Alted).


Changes from 2.4.3 to 2.4.4
===========================

- Fix bad #ifdef for including stdint on Windows (PR #186, Mike Sarahan).


Changes from 2.4.3 to 2.4.4
===========================

* Honor OMP_NUM_THREADS as a fallback in case NUMEXPR_NUM_THREADS is not
  set. Fixes #161. (PR #175, Stefan Erb).

* Added support for AppVeyor (PR #178 Andrea Bedini)

* Fix to allow numexpr to be imported after eventlet.monkey_patch(),
  as suggested in #118 (PR #180 Ben Moran).

* Fix harmless data race that triggers false positives in ThreadSanitizer.
  (PR #179, Clement Courbet).

* Fixed some string tests on Python 3 (PR #182, Antonio Valentino).


Changes from 2.4.2 to 2.4.3
===========================

* Comparisons with empty strings work correctly now.  Fixes #121 and
  PyTables #184.

Changes from 2.4.1 to 2.4.2
===========================

* Improved setup.py so that pip can query the name and version without
  actually doing the installation.  Thanks to Joris Borgdorff.

Changes from 2.4 to 2.4.1
=========================

* Added more configuration examples for compiling with MKL/VML
  support.  Thanks to Davide Del Vento.

* Symbol MKL_VML changed into MKL_DOMAIN_VML because the former is
  deprecated in newer MKL.  Thanks to Nick Papior Andersen.

* Better determination of methods in `cpuinfo` module.  Thanks to Marc
  Jofre.

* Improved NumPy version determination (handy for 1.10.0).  Thanks
  to Åsmund Hjulstad.

* Benchmarks run now with both Python 2 and Python 3.  Thanks to Zoran
  Plesivčak.

Changes from 2.3.1 to 2.4
=========================

* A new `contains()` function has been added for detecting substrings
  in strings.  Only plain strings (bytes) are supported for now.  See
  PR #135 and ticket #142.  Thanks to Marcin Krol.

* New version of setup.py that allows better management of NumPy
  dependency.  See PR #133.  Thanks to Aleks Bunin.

Changes from 2.3 to 2.3.1
=========================

* Added support for shift-left (<<) and shift-right (>>) binary operators.
  See PR #131. Thanks to fish2000!

* Removed the rpath flag for the GCC linker, because it is probably
  not necessary and it chokes to clang.
  • Loading branch information
wiz committed Jul 15, 2016
1 parent e95b5c0 commit 5fd3189
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 19 deletions.
10 changes: 6 additions & 4 deletions math/py-numexpr/Makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# $NetBSD: Makefile,v 1.5 2014/07/19 12:46:53 bad Exp $
# $NetBSD: Makefile,v 1.6 2016/07/15 07:18:45 wiz Exp $

DISTNAME= numexpr-2.2.2
DISTNAME= numexpr-2.6.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= math
MASTER_SITES= http://numexpr.googlecode.com/files/
MASTER_SITES= ${MASTER_SITE_GITHUB:=pydata/}
GITHUB_TAG= v${PKGVERSION_NOREV}
GITHUB_PROJECT= numexpr

MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://code.google.com/p/numexpr/
HOMEPAGE= https://github.com/pydata/numexpr
COMMENT= Numerical expression evaluator for NumPy
LICENSE= mit

Expand Down
3 changes: 2 additions & 1 deletion math/py-numexpr/PLIST
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
@comment $NetBSD: PLIST,v 1.3 2014/07/19 12:46:53 bad Exp $
@comment $NetBSD: PLIST,v 1.4 2016/07/15 07:18:45 wiz Exp $
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
${PYSITELIB}/numexpr/__config__.py
${PYSITELIB}/numexpr/__config__.pyc
Expand Down
12 changes: 6 additions & 6 deletions math/py-numexpr/distinfo
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$NetBSD: distinfo,v 1.4 2015/11/03 23:33:42 agc Exp $
$NetBSD: distinfo,v 1.5 2016/07/15 07:18:45 wiz Exp $

SHA1 (numexpr-2.2.2.tar.gz) = 021cbd31e6976164b4b956318b30630dabd16159
RMD160 (numexpr-2.2.2.tar.gz) = 683d7d88f305b18e8538bdaca000f46fdf02b1ee
SHA512 (numexpr-2.2.2.tar.gz) = bf04d16cfab7f71cc1bc0ab736fa4222ec24321292ca1bfe0b01b0cdf4a683fcdc297faff1abafd9f18ce7b6c07364fff855c51a5aa9a310b6664616f817a004
Size (numexpr-2.2.2.tar.gz) = 75680 bytes
SHA1 (patch-ab) = 8d7c58654228b9961169bde5c74cc9bd22ed7fa4
SHA1 (numexpr-2.6.0.tar.gz) = 02b80e27878853e65ccc8884f1d83d9fdc017abf
RMD160 (numexpr-2.6.0.tar.gz) = 0b02d07304e38b06ae83cc43cbacd1a99910c1c2
SHA512 (numexpr-2.6.0.tar.gz) = 6712901e3be20a44d4f40e57fc09bcae17ab0a6af1caf5bc63dd66ca751875b74af71e0f016386b7e68d52ef34a2bab226e3a79871eea35754ddbfe143b5a68e
Size (numexpr-2.6.0.tar.gz) = 99103 bytes
SHA1 (patch-ab) = 8c51ca19b2817b55f6e950a0e64da293dcbdceb8
20 changes: 12 additions & 8 deletions math/py-numexpr/patches/patch-ab
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
$NetBSD: patch-ab,v 1.1.1.1 2010/07/16 12:12:17 drochner Exp $
$NetBSD: patch-ab,v 1.2 2016/07/15 07:18:45 wiz Exp $

--- numexpr/cpuinfo.py.orig 2009-06-23 08:39:40.000000000 +0000
Add NetBSD support in CPU detection.

--- numexpr/cpuinfo.py.orig 2016-06-01 11:55:58.000000000 +0000
+++ numexpr/cpuinfo.py
@@ -390,6 +390,30 @@ class DarwinCPUInfo(CPUInfoBase):
def _is_ppc823(self): return self.__machine(823)
@@ -498,6 +498,32 @@ class DarwinCPUInfo(CPUInfoBase):

def _is_ppc860(self): return self.__machine(860)

+class NetBSDCPUInfo(CPUInfoBase):
Expand All @@ -12,8 +14,10 @@ $NetBSD: patch-ab,v 1.1.1.1 2010/07/16 12:12:17 drochner Exp $
+ def __init__(self):
+ if self.info is not None:
+ return
+ info = command_info(arch='arch', machine='machine')
+ info['sysctl_hw'] = key_value_from_command('sysctl hw', sep='=')
+ info = {}
+ info['sysctl_hw'] = key_value_from_command(['sysctl', 'hw'], sep='=')
+ info['arch'] = info['sysctl_hw'].get('hw.machine_arch', 1)
+ info['machine'] = info['sysctl_hw'].get('hw.machine', 1)
+ self.__class__.info = info
+
+ def _not_impl(self): pass
Expand All @@ -32,8 +36,8 @@ $NetBSD: patch-ab,v 1.1.1.1 2010/07/16 12:12:17 drochner Exp $
+ return False

class SunOSCPUInfo(CPUInfoBase):

@@ -648,6 +672,8 @@ elif sys.platform.startswith('irix'):
info = None
@@ -781,6 +807,8 @@ elif sys.platform.startswith('irix'):
cpuinfo = IRIXCPUInfo
elif sys.platform == 'darwin':
cpuinfo = DarwinCPUInfo
Expand Down

0 comments on commit 5fd3189

Please sign in to comment.