Changes for page Co-Simulation The Virtual Brain Multiscale
Last modified by ldomide on 2024/04/08 12:55
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. ldomide1 +XWiki.dionperd - Content
-
... ... @@ -5,9 +5,9 @@ 5 5 = (% style="color:inherit" %)TVB Co-Simulation {{html}}<iframe width="302" height="170" src="https://www.youtube.com/embed/6hEuvxD7IDk?list=PLVtblERyzDeLcVv4BbW3BvmO8D-qVZxKf" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>{{/html}} (%%) = 6 6 7 7 8 -(% style="color:inherit" %)Multiscale: TVB -NEST8 +(% style="color:inherit" %)Multiscale: TVB, NEST, (%%)ANNarchy, NetPyNE , Elephant, PySpike 9 9 10 -(% style="color:inherit" %)Authors: (%%)D. Perdikis, L. Domide, J. Mersmann, M. Schirner, P. Ritter(% style="color:inherit" %) 10 +(% style="color:inherit" %)Authors: (%%)D. Perdikis, A. Blickensdörfer, V. Bragin, L. Domide, J. Mersmann, M. Schirner, P. Ritter(% style="color:inherit" %) 11 11 ))) 12 12 ))) 13 13 ... ... @@ -20,38 +20,98 @@ 20 20 * TVB Dedicated Wiki [[https:~~/~~/wiki.ebrains.eu/bin/view/Collabs/the-virtual-brain/>>url:https://wiki.ebrains.eu/bin/view/Collabs/the-virtual-brain/]] 21 21 * TVB in HBP User Story [[https:~~/~~/wiki.ebrains.eu/bin/view/Collabs/user-story-tvb/>>url:https://wiki.ebrains.eu/bin/view/Collabs/user-story-tvb/]] 22 22 23 -== UseourJupyter Hub setup online==23 +== == 24 24 25 - Wehave setup a Jupyter Hub service with tvb-nest as backed already prepared. You will onlyneed an HBPaccountforaccessing this: [[https:~~/~~/tvb-nest.apps.hbp.eu/>>url:https://tvb-nest.apps.hbp.eu/]]25 +== Running TVB-MULTISCALE at EBRAINS JupyterLab == 26 26 27 -T his JupyterHub installation workssmoothly with HBP Collab usercredentials (login only onceat HBP and get accesshere too). We use a customDocker Hub tvb-nest image as a backend, and thus a readyto use environment isavailableimmediately,withoutthe need of anylocal installation ordownload. Thisshouldbethe ideal env fordemos, presentationsoreven workshops with tvb-nest.27 +TVB-multiscale is made available at [[EBRAINS JupyterLab>>https://lab.ebrains.eu/]]. 28 28 29 +All the user has to do is login with the EBRAINS credentials, and start a Python console or a Jupyter notebook, TVB-multiscale being available for importing (e.g., via "import tvb_multiscale"). 30 + 31 +All necessary TVB-multiscale dependencies (NEST, ANNarchy, NetPyNE (NEURON), Elephant, Pyspike) are also installed and available. 32 + 33 +We suggest the users to upload [[documented notebooks>>https://github.com/the-virtual-brain/tvb-multiscale/tree/master/docs/notebooks]] and/or [[examples' scripts and notebooks >>https://github.com/the-virtual-brain/tvb-multiscale/tree/master/examples]]from TVB-multiscale Github repository and run them there. 34 + 35 +Alternatively, users can sparse checkout the docs and examples folders of TVB-multiscale Github repo, via the following sequence of commands in a terminal or in Jupyter notebook's cells (for notebooks you need to use "!" before each command!): 36 + 37 +~1. Get into the user's My Libraries folder: 38 + 39 +{{{cd /mnt/user/drive/My Libraries}}} 40 + 41 +2. Create a folder, e.g., "tvb-multiscale-examples" 42 + 43 +{{{mkdir tvb-multiscale-examples}}} 44 + 45 +3. Create an empty git repository: 46 + 47 +{{{git init 48 + 49 +3. Add tvb-multiscale remote: 50 +git remote add -f origin }}} 51 + 52 +This fetches all objects but doesn't check them out. 53 + 54 +4. Allow for sparse checkout in git config: 55 + 56 +{{{git config core.sparseCheckout true 57 +}}} 58 + 59 +5. Add the docs and examples folders to the ones to be checked out: 60 + 61 +{{{echo "docs" >> .git/info/sparse-checkout 62 + 63 +echo "examples" >> .git/info/sparse-checkout}}} 64 + 65 +6. Finally, pull the master from the remote: 66 + 67 +{{{git pull origin master}}} 68 + 69 +which will download the specified folders. 70 + 71 +All these steps can of course be made from any user fork of the TVB-multiscale repository. 72 + 73 +Last but not least, users will also have to modify the attribute config.DEFAULT_CONNECTIVITY_ZIP of the base configuration class Config in all cases of examples and notebooks, to be able to load a default TVB connectivity for the simulations to run. For instance, in the above example, the correct path would be: 74 + 75 +{{{config.DEFAULT_CONNECTIVITY_ZIP = "/mnt/user/drive/My Libraries/tvb-multiscale-examples/examples/data/tvb_data/berlinSubjects/QL_20120814/QL_20120814_Connectivity.zip" }}} 76 + 77 + 78 +== Use our Jupyter Hub setup online ((% style="color:#c0392b" %)DEPRECATED(%%)) == 79 + 80 +(% style="color:#c0392b" %)**TVB-multiscale app is deprecated and will stop being available after the end of 2023!** 81 + 82 +We have setup a Jupyter Hub service with tvb-multiscale as backed already prepared. You will only need an HBP account for accessing this: [[https:~~/~~/tvb-multiscale.apps.hbp.eu/>>https://tvb-multiscale.apps.hbp.eu/]] 83 + 84 +This JupyterHub installation works smoothly with HBP Collab user credentials (login only once at HBP and get access here too). We use a custom Docker Hub tvb-multiscale image as a backend, and thus a ready to use environment is available immediately, without the need of any local installation or download. This should be the ideal env for demos, presentations or even workshops with tvb-multiscale. 85 + 29 29 **[[image:https://lh6.googleusercontent.com/ytx9eYpMcL3cCScX2_Sxm4CeBW0xbKW3xKsfO2zSId10bW0gw1kiN2_SkexyYBCsF-sKsu0MaJC4cZvGVfQPjMoPBLiePbkvXOZd8BgY3Q0kFzSkRCqQ183lgDQv_6PYoqS3s7uJ||height="149" width="614"]]** 30 30 31 -Currently, the users can access 2 folders: //TVB- NEST-Examples// and //Contributed-Notebooks//.88 +Currently, the users can access 2 folders: //TVB-*-Examples// and //Contributed-Notebooks//. 32 32 33 -The notebooks under **TVB- NEST-Examples** are public, shared by everyone accessing the instance. Periodically, we will clean all changes under TVB-NEST-Examples folder (by redeploying the pod image), and show the original example notebooks submitted on our Github repo. If users intend to contribute here, they are encouraged to submit changes through Pull Requests ([[https:~~/~~/github.com/the-virtual-brain/tvb-multiscale>>url:https://github.com/the-virtual-brain/tvb-multiscale]])90 +The notebooks under **TVB-*-Examples** are public, shared by everyone accessing the instance. Periodically, we will clean all changes under TVB-*-Examples folder (by redeploying the pod image), and show the original example notebooks submitted on our Github repo. If users intend to contribute here, they are encouraged to submit changes through Pull Requests ([[https:~~/~~/github.com/the-virtual-brain/tvb-multiscale>>url:https://github.com/the-virtual-brain/tvb-multiscale]]) 34 34 35 35 **[[image:https://lh6.googleusercontent.com/nnsM0mhXQinmQsJwZwwwe5Sx7f-tZc8t4ELnCh9DwksyVEPUE-jixJTkhoP4l25VKwlDGoXACWtnuxQM9NMOCYbQOzDesgMDlT3sntow___vsEqRVd4OwqMY4BPyBiLJ32BnUbmM||height="267" width="614"]]** 36 36 37 -Folder **Contributed-Notebooks** is not shared. Here, users can experiment with their own private examples. This folder is persisted on restarts in the user HBP Collab personal space. Thus, users will be able to access their work even after a redeploy. (e.g. during a workshop every participant could have in here his own exercise solution) .94 +Folder **Contributed-Notebooks** is not shared. Here, users can experiment with their own private examples. This folder is persisted on restarts in the user HBP Collab personal space. Thus, users will be able to access their work even after a redeploy. (e.g. during a workshop every participant could have in here his own exercise solution) 38 38 39 -== Running TVB-NEST locally == 40 40 41 - Seemore on Github [[https:~~/~~/github.com/the-virtual-brain/tvb-multiscale>>url:https://github.com/the-virtual-brain/tvb-multiscale]] andcheckthis notebook example: [[https:~~/~~/drive.ebrains.eu/f/b3ea5740fcc34f12af7a/?dl=1>>url:https://drive.ebrains.eu/f/b3ea5740fcc34f12af7a/?dl=1]]97 +== Running TVB-MULTISCALE locally == 42 42 43 - This notebook will be ok to download and try yourselflocally,after youhave also prepared and launchedlocally a Docker env:[[https:~~/~~/hub.docker.com/r/thevirtualbrain/tvb-nest>>url:https://hub.docker.com/r/thevirtualbrain/tvb-nest]]99 +See more on Github [[https:~~/~~/github.com/the-virtual-brain/tvb-multiscale>>url:https://github.com/the-virtual-brain/tvb-multiscale]] . 44 44 45 - This isthepath recommendedforpeople workingcloselywithtvb-nest.Theyare abletodownloadit intheirlocalwork envandcodefreelyand fastwithit.101 +Documented notebooks and other examples will be ok to download and try yourself locally, after you have also prepared and launched locally a Docker env: [[https:~~/~~/hub.docker.com/r/thevirtualbrain/tvb-multiscale>>https://hub.docker.com/r/thevirtualbrain/tvb-multiscale]] 46 46 47 - ==RunningTVB-NESTjobsonCSCSinfrastructurefromHBPcollab==103 +This is the path recommended for people working closely with tvb-multiscale. They are able to download it in their local work env and code freely and fast with it. 48 48 49 - TheCSCSandHBP Collab deployment of tvb-nest is a good example to show how tvb-nest can run with an HPC backend. This will be efficient when the simulation jobs are very large. From our experience, with small jobs, the stage-in/out time is considerable, and then the user might be better with just a local run. Also, this deployment requires that **the user have an active CSCS personal account**. More details on how to use this deployment can be found in this movie: [[https:~~/~~/drive.google.com/open?id=1osF263FK_NjhZcBJfpSy-F7qkbYs3Q-E>>url:https://drive.google.com/open?id=1osF263FK_NjhZcBJfpSy-F7qkbYs3Q-E]]105 +== == 50 50 107 +== Running TVB-MULTISCALE jobs on CSCS infrastructure from HBP collab == 108 + 109 +The CSCS and HBP Collab deployment of tvb-multiscale is a good example to show how tvb-multiscale can run with an HPC backend. This will be efficient when the simulation jobs are very large. From our experience, with small jobs, the stage-in/out time is considerable, and then the user might be better with just a local run. Also, this deployment requires that **the user have an active CSCS personal account**. More details on how to use this deployment can be found in this movie: [[https:~~/~~/drive.google.com/open?id=1osF263FK_NjhZcBJfpSy-F7qkbYs3Q-E>>url:https://drive.google.com/open?id=1osF263FK_NjhZcBJfpSy-F7qkbYs3Q-E]] 110 + 51 51 * Create a collab space of your own 52 52 * Clone and run in your HBP Collab Hub ([[https:~~/~~/lab.ebrains.eu/>>url:https://lab.ebrains.eu/]]) the notebooks from here: [[https:~~/~~/drive.ebrains.eu/d/245e6c13082f45bcacfa/>>url:https://drive.ebrains.eu/d/245e6c13082f45bcacfa/]] 53 53 ** test_tvb-nest_installation.ipynb Run the cosimulate_tvb_nest.sh script on the CSCS Daint supercomputer. In this example, basically we are running the //installation_test.py// file which is in the docker folder. 54 -** run_custom_cosimulation.ipynb For this example we are using the //cosimulate_with_staging.sh// script in order to pull the tvb- nest docker image and we are using a custom simulation script (from Github page) which will be uploaded in the staging in phase114 +** run_custom_cosimulation.ipynb For this example we are using the //cosimulate_with_staging.sh// script in order to pull the tvb-multiscale docker image and we are using a custom simulation script (from Github page) which will be uploaded in the staging in phase 55 55 ** run_custom_cosimulation_from_notebook.ipynb This example is running the same simulation as the example above but instead of using an external file with the simulation code we will build a simulation file from a few notebook cells and we will pass this file to the CSCS server. 56 56 57 57 Few technical details about what we do in these notebooks: