SixTrack
f90wrap
Our great sponsors
SixTrack | f90wrap | |
---|---|---|
4 | 2 | |
40 | 234 | |
- | - | |
0.0 | 6.9 | |
almost 2 years ago | 21 days ago | |
Fortran | Python | |
GNU Lesser General Public License v3.0 only | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SixTrack
-
Runtime communication Fortran <-> Python
I've done this in the past, i.e. https://github.com/SixTrack/SixTrack/blob/master/source/bdex.f90
-
Why do some people define one, two etc as parameters?
Indeed - today you can define an integer parameter to set the kind and literal precision in a consistent way. See e.g. https://github.com/SixTrack/SixTrack/blob/master/source/core_tools.f90
-
What’s the jankiest piece of tech you’ve seen a company depend on?
RHIC/CERN seems like the perfect storm of incredibly intelligent and motivated people, coupled with time pressures and a lack of software development knowledge. Add in the fact that their "business" logic requires a PhD, and you've got an extremely limited subset of software developers who even could work on the code.
Most places, you'd figure people just wouldn't be smart enough to Rube Goldberg their way into a functional program. But someone who does high energy physics as their primary job is assuredly capable of torture a compiler as thoroughly as they want.
F.ex. look at the issues: https://github.com/SixTrack/SixTrack/issues
> remove gamma_e from calculation of kick by elens. the gamma_e factor comes from moving from the electron frame to the lab frame. It is actually compensated by the lorentz transformation applied to the electron current density
You know you're in for fun when the docs start with "SixTrack is wonderful, but it is bloody complicated." https://twiki.cern.ch/twiki/bin/view/LHCAtHome/SixTrackDoc
-
Compiling / warpping fortran code into a .exe or other executable on windows?
Example of a pretty complex (lots of flags and libraries) multiplatform CMake setup for Fortan and C/C++: https://github.com/SixTrack/SixTrack/
f90wrap
-
Any help or tips for Neural Networks on Computer Clusters
However, if you are writing numerical code in Fortran and want to be able to better interface it it with machine learning tools and methods, the number one thing I can recommend is to look into Fortran-based automatic differentiation tools. This will enable you to calculate exact derivatives of your code, which are useful to have for training and optimization loops. You can also look into f2py and f90wrap for generating Python wrappers for your Fortran codes, as well as Julia for hooking into it directly.
-
Runtime communication Fortran <-> Python
When I looked into this a bit, I found f90wrap to have reasonable ergonomics and CMake support. If you haven’t seen it already, you might give it a shot.
What are some alternatives?
forpy - Forpy - use Python from Fortran
open-watcom-v2 - Open Watcom V2.0 - Source code repository, Wiki, Latest Binary build, Archived builds including all installers for download.
neural-fortran - A parallel framework for deep learning
Fortran-code-on-GitHub - Directory of Fortran codes on GitHub, arranged by topic
julia - The Julia Programming Language
Flux.jl - Relax! Flux is the ML library that doesn't make you tensor