fidimag icon indicating copy to clipboard operation
fidimag copied to clipboard

Make fidimag great again

Open rpep opened this issue 6 years ago • 3 comments

Not ready to merge; just for test running.

The motivation behind this:

  • Simplify building by creating a library (shared? static?) of the C/C++ code seperate to the Python interface, and automate Cython file discovery to make it much easier to develop new tools.

  • Reduce code duplication by wrapping C functions once and exposing via pxd.

  • Move more Python code into Cython.

  • Profile and find the slowest parts for realistic examples

  • Give better support for compiling against other libraries; i.e. MKL if available vs FFTW - Should we use CMake rather than Make to simplify discovery or leave it to the user?

rpep avatar May 09 '19 17:05 rpep

The title of the merge request is hilarious. Keep going :)

fangohr avatar May 13 '19 18:05 fangohr

I'd make the RK4 arrays sequential to make the memory layout more compact, so something like (this won't compile I think, needs more thought)

class Integrator {
Integrator(size_t N) = 0; // No constructor so people can't use the base class
public:
...
};

The compiler gives me an error where the base class constructor is not virtual so I can't make = 0 to the constructor.

davidcortesortuno avatar Jun 01 '21 13:06 davidcortesortuno

We should not close this PR. But I'm not sure if someone would like to keep developing this full C backend, it's a lot of work :O

davidcortesortuno avatar Oct 02 '23 15:10 davidcortesortuno