scitbx without numpy - still supported?
Hi All, I've been tweaking the code to allow versions of boost higher than 1.63, which has involved poking at the scitbx-numpy bridge code. There seems to be some level of branching in the code for supporting building without numpy - but on the other hand numpy seems to be used exclusively for all flex.type.__init__ functions that I can find? Is building without numpy still supported? Thanks, Nick
Nick,
It was always the intention to support flex arrays in the absence of
Numpy. If there is some refactoring to be done, this principle should be
preserved: that Numpy is an optional rather than required dependency.
Not sure about the wording in your second sentence. At the time we
developed flex, branching was not a code development mechanism we used.
Furthermore, not sure why you say Numpy is "exclusively" used in the flex
constructors? Certainly there are numerous flex constructors that do not
involve Numpy?
Nick Sauter
Nicholas K. Sauter, Ph. D.
Senior Scientist, Molecular Biophysics & Integrated Bioimaging Division
Lawrence Berkeley National Laboratory
1 Cyclotron Rd., Bldg. 33R0345
Berkeley, CA 94720
(510) 486-5713
On Tue, Apr 24, 2018 at 6:28 AM, Nicholas Devenish
Hi All,
I've been tweaking the code to allow versions of boost higher than 1.63, which has involved poking at the scitbx-numpy bridge code.
There seems to be some level of branching in the code for supporting building without numpy - but on the other hand numpy seems to be used exclusively for all flex.type.__init__ functions that I can find?
Is building without numpy still supported?
Thanks,
Nick
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
Hi,
On Tue, Apr 24, 2018 at 4:10 PM, Nicholas Sauter
It was always the intention to support flex arrays in the absence of Numpy. If there is some refactoring to be done, this principle should be preserved: that Numpy is an optional rather than required dependency.
Good to know - some of this code seems a little crusty (and I've found a couple of bugs just trying to verify that it still works correctly). Not sure about the wording in your second sentence. At the time we
developed flex, branching was not a code development mechanism we used. Furthermore, not sure why you say Numpy is "exclusively" used in the flex constructors? Certainly there are numerous flex constructors that do not involve Numpy?
I meant a code branch e.g. "if", or a preprocessor "#ifdef" in this case. I think I've gotten confused by some of the indirection in the class definitions - the top level only adds the numpy constructor, and then everything else is put in several levels down - and in some of my tests it looked like the numpy routine was mistakenly doing all of the construction (which ended in much the same results). Nick
Hi,
I may be digressing here but my understanding is that newer versions of
boost no longer contain the boost/python/numeric.hpp file and therefore
the scitbx/array_family/boost_python/numpy_bridge.hpp cannot compile
with newer versions of boost.
I'm making very tiny steps compiling with the VS2017 compiler on Windows
which I believe is required for C++11 compliance. So far the problem
seems that older versions of boost do not like this compiler and scitbx
(or rather numpy_bridge.hpp) do not like newer versions of boost.
I guess that if numpy_bridge.hpp was adapted to not #include
Hi,
On Tue, Apr 24, 2018 at 4:10 PM, Nicholas Sauter
mailto:[email protected]> wrote: It was always the intention to support flex arrays in the absence of Numpy. If there is some refactoring to be done, this principle should be preserved: that Numpy is an optional rather than required dependency.
Good to know - some of this code seems a little crusty (and I've found a couple of bugs just trying to verify that it still works correctly).
Not sure about the wording in your second sentence. At the time we developed flex, branching was not a code development mechanism we used. Furthermore, not sure why you say Numpy is "exclusively" used in the flex constructors? Certainly there are numerous flex constructors that do not involve Numpy?
I meant a code branch e.g. "if", or a preprocessor "#ifdef" in this case.
I think I've gotten confused by some of the indirection in the class definitions - the top level only adds the numpy constructor, and then everything else is put in several levels down - and in some of my tests it looked like the numpy routine was mistakenly doing all of the construction (which ended in much the same results).
Nick
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
-- Robert Oeffner, Ph.D. Research Associate, The Read Group Department of Haematology, Cambridge Institute for Medical Research University of Cambridge Cambridge Biomedical Campus Wellcome Trust/MRC Building Hills Road Cambridge CB2 0XY www.cimr.cam.ac.uk/investigators/read/index.html tel: +44(0)1223 763234
HI Rob
I thought this rang a bell:
https://github.com/cctbx/cctbx_project/issues/70
This same kind of issue?
Cheers Graeme
On 24 Apr 2018, at 17:43, Robert Oeffner
Yes this must be there same issue. numpy_bridge.hpp is only 27 lines of code. But I think it takes confident C++ expert to rewrite it.
Rob
Sent from my Windows 10 phone
--
Robert Oeffner, Ph.D.
Research Associate, The Read Group
Department of Haematology,
Cambridge Institute for Medical Research
University of Cambridge
Cambridge Biomedical Campus
Wellcome Trust/MRC Building
Hills Road
Cambridge CB2 0XY
www.cimr.cam.ac.uk/investigators/read/index.html
tel: +44(0)1223 763234
mobile: +44(0)7712 887162
From: [email protected]
Sent: 24 April 2018 20:24
To: cctbx mailing list
Subject: Re: [cctbxbb] scitbx without numpy - still supported?
HI Rob
I thought this rang a bell:
https://github.com/cctbx/cctbx_project/issues/70
This same kind of issue?
Cheers Graeme
On 24 Apr 2018, at 17:43, Robert Oeffner
Hmm actually looking
cat ./scitbx/array_family/boost_python/numpy_bridge.hpp
#include
participants (5)
-
Dr Robert Oeffner
-
Graeme.Winter@Diamond.ac.uk
-
Nicholas Devenish
-
Nicholas Sauter
-
Robert Oeffner