Skip to content
Snippets Groups Projects
Commit f4f82949 authored by Pierre Augier's avatar Pierre Augier
Browse files

Code comparison fluidsim.

parent 169a2fa2
No related branches found
No related tags found
No related merge requests found
...@@ -257,7 +257,7 @@ ...@@ -257,7 +257,7 @@
} }
@article{guelton2015pythran, @article{guelton2015pythran,
title={Pythran: Enabling static optimization of scientific python programs}, title={Pythran: {E}nabling static optimization of scientific python programs},
author={Guelton, Serge and Brunet, Pierrick and Amini, Mehdi and Merlini, author={Guelton, Serge and Brunet, Pierrick and Amini, Mehdi and Merlini,
Adrien and Corbillon, Xavier and Raynaud, Alan}, Adrien and Corbillon, Xavier and Raynaud, Alan},
journal={Computational Science \& Discovery}, journal={Computational Science \& Discovery},
...@@ -269,7 +269,7 @@ ...@@ -269,7 +269,7 @@
} }
@article{behnel2011cython, @article{behnel2011cython,
title={Cython: The best of both worlds}, title={Cython: {T}he best of both worlds},
author={Behnel, Stefan and Bradshaw, Robert and Citro, Craig and Dalcin, author={Behnel, Stefan and Bradshaw, Robert and Citro, Craig and Dalcin,
Lisandro and Seljebotn, Dag Sverre and Smith, Kurt}, Lisandro and Seljebotn, Dag Sverre and Smith, Kurt},
journal={Computing in Science \& Engineering}, journal={Computing in Science \& Engineering},
...@@ -322,7 +322,8 @@ ...@@ -322,7 +322,8 @@
} }
@article{DeloncleBillantChomaz2008, @article{DeloncleBillantChomaz2008,
title={Nonlinear evolution of the zigzag instability in stratified fluids: a shortcut on the route to dissipation}, title={Nonlinear evolution of the zigzag instability in stratified fluids: a
shortcut on the route to dissipation},
author={Deloncle, Axel and Billant, Paul and Chomaz, Jean-Marc}, author={Deloncle, Axel and Billant, Paul and Chomaz, Jean-Marc},
journal={Journal of Fluid Mechanics}, journal={Journal of Fluid Mechanics},
volume={599}, volume={599},
...@@ -342,3 +343,15 @@ ...@@ -342,3 +343,15 @@
year={2005}, year={2005},
publisher={IEEE} publisher={IEEE}
} }
@article{ascher1997implicit,
title={Implicit-explicit Runge-Kutta methods for time-dependent partial
differential equations},
author={Ascher, Uri M and Ruuth, Steven J and Spiteri, Raymond J},
journal={Applied Numerical Mathematics},
volume={25},
number={2-3},
pages={151--167},
year={1997},
publisher={Elsevier}
}
\ No newline at end of file
...@@ -585,7 +585,7 @@ ...@@ -585,7 +585,7 @@
are Python 3 compatible now.}. Especially for scientific applications, we can are Python 3 compatible now.}. Especially for scientific applications, we can
now work only in Python 3. For instance, \href{https://github.com/% now work only in Python 3. For instance, \href{https://github.com/%
numpy/numpy/blob/master/doc/neps/dropping-python2.7-proposal.rst}{future numpy/numpy/blob/master/doc/neps/dropping-python2.7-proposal.rst}{future
releases of \numpy} and of \href{http://www.python3statement.org/}{the main releases of \Numpy} and of \href{http://www.python3statement.org/}{the main
scientific packages} will soon drop compatibility with Python 2. These changes scientific packages} will soon drop compatibility with Python 2. These changes
open doors to very clean, coherent and potentially faster Python open doors to very clean, coherent and potentially faster Python
experience. Therefore, one should not use Python 2 for science anymore and experience. Therefore, one should not use Python 2 for science anymore and
...@@ -627,9 +627,9 @@ ...@@ -627,9 +627,9 @@
\item Science! \item Science!
Python is now widely used in scientific applications. It has now a mature and Python is now widely used in scientific applications. It has now a mature and
powerful scientific ecosystem with well-established based packages (\numpy for powerful scientific ecosystem with well-established based packages (\Numpy for
N-dimensional homogeneous arrays, \pack{scipy} as the fundamental toolkit for N-dimensional homogeneous arrays, \Scipy as the fundamental toolkit for
scientific computing, \pack{matplotlib} for plotting and \pack{pandas} for data scientific computing, \pack{Matplotlib} for plotting and \pack{Pandas} for data
structures) and several more specialized packages (to name a few, \pack{h5py}, structures) and several more specialized packages (to name a few, \pack{h5py},
\pack{mpi4py}, \pack{skimage}, \pack{sklearn}, ...). There are now great (and \pack{mpi4py}, \pack{skimage}, \pack{sklearn}, ...). There are now great (and
often shiny) tools for most of the applications. For example, the often shiny) tools for most of the applications. For example, the
...@@ -637,8 +637,8 @@ ...@@ -637,8 +637,8 @@
landscape of visualization tools usable through Python} is impressive. landscape of visualization tools usable through Python} is impressive.
% %
Python is one of the main languages for data science with packages such as Python is one of the main languages for data science with packages such as
\pack{pandas}, \pack{statmodels}, \pack{sklearn}, \pack{keras} and \pack{Pandas}, \pack{statmodels}, \pack{sklearn}, \pack{keras}, \pack{tensorflow}
\pack{tensorflow}. and \pack{pytorch}.
There are now ready-to-use ``batteries-included'' Python installers There are now ready-to-use ``batteries-included'' Python installers
(similar to Matlab), like in particular the (similar to Matlab), like in particular the
...@@ -695,7 +695,7 @@ ...@@ -695,7 +695,7 @@
curve compared to Python. curve compared to Python.
% %
Nevertheless, this strategy has given rise to the base modules of the scientific Nevertheless, this strategy has given rise to the base modules of the scientific
Python stack, namely \numpy, \pack{scipy} and \pack{matplotlib}. Python stack, namely \Numpy, \Scipy and \pack{Matplotlib}.
Python developers do not actually have to write the compiled extensions in C, Python developers do not actually have to write the compiled extensions in C,
C++ or Fortran, since there are tools to generate them automatically from C++ or Fortran, since there are tools to generate them automatically from
...@@ -737,9 +737,13 @@ ...@@ -737,9 +737,13 @@
This strategy can yield good results with other languages as for example Matlab This strategy can yield good results with other languages as for example Matlab
or Julia. or Julia.
% %
Pypy, an alternative interpreter written in Python, has a JIT Pypy, an alternative interpreter written in Python, has a JIT compiler. However,
compiler. However, Pypy is not widely used for scientific applications mainly Pypy is not widely used for scientific applications mainly because of
because of compatibility problems with the extensions written for CPython. compatibility problems with the extensions written for CPython.
%
However this could change since a recent version of Pypy (6.0) supports the main
packages of the Python scientific stack (\Numpy, \Scipy, \pack{Matplotlib},
\pack{Pandas}, etc.).
Adding a JIT to the interpreter CPython has been notoriously difficult (see Adding a JIT to the interpreter CPython has been notoriously difficult (see
\href{https://faster-cpython.readthedocs.io/}{faster-cpython}). One of the \href{https://faster-cpython.readthedocs.io/}{faster-cpython}). One of the
...@@ -1545,7 +1549,7 @@ ...@@ -1545,7 +1549,7 @@
Displays all important information related to software and hardware. It Displays all important information related to software and hardware. It
includes detailed information such as currently installed FluidDyn packages, includes detailed information such as currently installed FluidDyn packages,
other third-party packages, C compiler, MPI and \numpy configuration. other third-party packages, C compiler, MPI and \Numpy configuration.
\item \codeinline{fluiddump} \item \codeinline{fluiddump}
...@@ -1628,7 +1632,7 @@ ...@@ -1628,7 +1632,7 @@
We list here only the dependencies of the base package \fluidpack{dyn}. We list here only the dependencies of the base package \fluidpack{dyn}.
\begin{itemize} \begin{itemize}
\item {\bf Minimum:} \numpy, \pack{matplotlib}, \pack{psutil}, \pack{future}, \item {\bf Minimum:} \Numpy, \pack{Matplotlib}, \pack{psutil}, \pack{future},
\pack{subprocess32} (for Python 2.7 only). \pack{subprocess32} (for Python 2.7 only).
\item {\bf Full functionality:} \pack{h5py}, \pack{h5netcdf}, \pack{mpi4py}, \item {\bf Full functionality:} \pack{h5py}, \pack{h5netcdf}, \pack{mpi4py},
...@@ -1632,7 +1636,7 @@ ...@@ -1632,7 +1636,7 @@
\pack{subprocess32} (for Python 2.7 only). \pack{subprocess32} (for Python 2.7 only).
\item {\bf Full functionality:} \pack{h5py}, \pack{h5netcdf}, \pack{mpi4py}, \item {\bf Full functionality:} \pack{h5py}, \pack{h5netcdf}, \pack{mpi4py},
\pack{scipy}, \pack{pyfftw} (requires FFTW library), \pack{pillow}. \pack{Scipy}, \pack{pyfftw} (requires FFTW library), \pack{pillow}.
\item {\bf Optional:} OpenCV with Python bindings, \pack{scikit-image}. \item {\bf Optional:} OpenCV with Python bindings, \pack{scikit-image}.
\end{itemize} \end{itemize}
......
This diff is collapsed.
...@@ -108,8 +108,8 @@ ...@@ -108,8 +108,8 @@
\newcommand{\fluiddyn}{\fluidpack{dyn}\xspace} \newcommand{\fluiddyn}{\fluidpack{dyn}\xspace}
\newcommand{\numpy}{\codeinline{numpy}\xspace} \newcommand{\Numpy}{\codeinline{Numpy}\xspace}
\newcommand{\scipy}{\codeinline{scipy}\xspace} \newcommand{\Scipy}{\codeinline{Scipy}\xspace}
\newcommand{\pack}[1]{\codeinline{#1}\xspace} \newcommand{\pack}[1]{\codeinline{#1}\xspace}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment