virtualcell / vcell-solvers Goto Github PK
View Code? Open in Web Editor NEWVirtual Cell solvers
Virtual Cell solvers
Currently, there are broken builds of the VCell solvers on both Appveyor (windows) and TravisCI (Linux and Macos) - maintenance is required.
GitHub provides runners for all three of these platforms and is a natural choice to consolidate these builds under a common infrastructure (our 'vcell' repo uses GitHub build/deploy the rest of VCell).
Created a template with a matrix job for each of Ubuntu, Macos and Windows platforms, which:
vcell-solvers is already used as a base image for vcell-batch docker image.
vcell-solvers should be used as a base image for the biosimulations docker image (with same Linux execution environment as server)
Both vcell-solvers and biosimulations containers need java and python (vcell-solvers may need python2).
biosimulations image was 2.5GB - first step was to create a small and complete base image with solvers, java and python, then focus on application dependencies in child containers.
use existing github action (prepared in issue #13) to configure Macos build/deploys of solvers. This involves configuring the Macos runner and configuring cmake accordingly to this new environment.
build base solvers for Docker
SimulationMessaging implements both a create
method, and a getInstVar
method, where getInstVar
is quietly vulnerable to a nullptr SEGFAULT if create
isn't called.
Per proper Singleton design, create
should be removed, and it's logic transfered to getInstVar
.
base solvers
Hy3S solvers (needs Fortran reconciled with LLVM toolchain)
Chombo solvers (difficult multi-step build)
Test coverage of most VCell solvers rely on integration testing and end to end testing with the math testing framework. However, solver unit tests would allow independent testing of solver components and provide a framework for debugging and extending the solvers.
On a users Mac, the Reaction Diffusion solver used by VFrap (FiniteVolume_x64) cannot load a needed library which is shipped with VCell. This behavior is not reproducible on my dev machine, because my Mac 'trusts' VCell (not quarantined).
After some reading, it seems that recent Macos configuration don't always trust library paths specified with "@executable_path", it wants "@rpath" instead.
install_name_tool_macos.sh needs to be changed to update the path of executables or dynamic libraries using @rpath.
we'll need Sophia at UCHC to test our fix as I cannot reproduce it on my machine and on the Mac build machines in the cloud.
recent build of NFSim on Macos had runtime failures for some models. Rebuild NFSim on Macos paying special attention to memory safety.
upgrade MovingBoundary solver for C++14 and resurrect unit tests
building on new scaffold for build/deploy on Github (described in #13), implement a build/deploy for vcell solvers for Windows.
"forcing location index to be 1 instead of 0" is printed a huge number of times for some models.
biomodel_ 245262589 (from Kelvin's account).
building on new scaffold for build/deploy on Github (described in #13), implement a build/deploy for vcell solvers for Docker.
building on new scaffold for build/deploy on Github (described in #13), implement a build/deploy for vcell solvers for LInux.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.