On Mar 22, 2009, at 7:46 PM, Vic Kelson wrote:

> 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 won't be there, but hopefully someone familiar with Cython may. If  
not, Cython should be relatively easy to learn for someone already  
versed in Python, Fortran, and C.

> 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.

There may be a GSoC project on making direct calls to Fortran easier,  
but for now you'd have to do it manually via C. Depending on how  
messy it is, it may or may not be worth re-writing this portion of  
your code.

> (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.

Cython does support multiple inheritance for non-cdef classes.

> (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.

This is the kind of stuff Cython excels at, so I'm optimistic this  
will work well for you.

> 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

_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to