Hi Everyone,
I plan to attend PyCon in Chicago next weekend, and I'm wondering what
Cython experts might be there to help me jump-start an application I'm
working on. I've been a Python programmer since 1998 (I , and I've
written several extensions in C and Fortran. I'm well-acquainted with
the ins and outs of Python since 1.4. This will be my fifth PyCon, and
I always try to go there with a project in mind.
I develop hydrologic models in Fortran and C/C++, but more and more, I
do the majority of my work in Python. Most of the Python work is pre-
and post- processing for Fortran groundwater flow model codes. I've
experimented with a number of approaches to getting a suitably high-
performance model coderunning in a Pythonic way, but there's always
one or two things that stop me from getting a full-featured code
working.
Until now. I'm convinced that Cython offers me the ability to develop
a Cython/Python codebase that will allow me to achieve suitable
performance for a general-purpose code. However, I can use some
assistance with a few issues, and I'd like to see just how fast I can
make this code go.
Issues are:
(1) many of the fundamental analytic functions are already carefully
coded in Fortran 90 (no pointers) and can readily connect to Python
via F2PY. I don't want to re-code these because "they're both nasty"
and coded using complex arithmetic. So, my optimal Cython module
should call some Fortran routines.
(2) I already have a solid object-oriented design in Python, and a
small working development code (a colleague and I wrote it for a paper
we've recently submitted to the journal Ground Water). It will need a
change or two to make it Cython-able. In particular, it uses a mix-in
class to achieve some functionality. These features can be easily
delegated to a helper object that is instantiated separately. I will
refactor that before the conference.
(3) The "killer" feature that has stopped me from a Python
computational code is the ability to implement particle tracking in
the model. The tracking algorithm is computationally intensive,
including checking for intersections between line segments and
proximity to model features. I believe that Cython will allow me to
overcome this hurdle. The test code I mentioned above does not support
this feature, but I will try to implement it before PyCon.
So, is there anyone who will be in Chicago who would be willing to
assist me in this adventure? I have Python 2.5.4, Cython, gfortran,
numpy, and the whole shebang installed on my Macbook, and I'm willing
to provide tasty malt beverages...
Please drop me a line if you'd be willing to help.
THANKS!
Vic Kelson
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev