Commit 486e7cac authored by CHAMONT David's avatar CHAMONT David
Browse files

Apres On-Demand Floating Point

parent b2f3e1ce
...@@ -5,7 +5,13 @@ The prerequisites for this lesssons are given in `prerequisites.md`, together wi ...@@ -5,7 +5,13 @@ The prerequisites for this lesssons are given in `prerequisites.md`, together wi
For communication with the teachers and other students, you are asked to connect on this server: `https://discord.gg/MycuXgV3`. Some more information is given in `chatroom.md`. For communication with the teachers and other students, you are asked to connect on this server: `https://discord.gg/MycuXgV3`. Some more information is given in `chatroom.md`.
As better described in `teaching-material.md`, the material will be made available, progressively, on [this public project](https://gitlab.in2p3.fr/chamont/modernscientificcpp). As better described in `teaching-material.md`, the material will be made available, progressively, on [this public project](https://github.com/chavid/ModernScientificCpp.git).
The file [`installation.md`](installation.md) try to sum up what to install if you want to run the examples on your machine, with or without notebooks, barebone or through docker (in the later case, additional instructions are found in `docker.md`). You can also, at least at the beginning, simply use http://coliru.stacked-crooked.com/. Finally, if you have an account in the RENATER federation, you may use [JupyterHub@Paris-Saclay](`https://jupyterhub.ijclab.in2p3.fr/`) (see `jupyterhub.md`). You can copy the C++ examples from the material, and paste it in your favorite C++ tools. As long as the examples are short enough, you can simply use the web service [CoLiRu](http://coliru.stacked-crooked.com/). If you want/need to compile yourself on your own machine, you may need to install a recent compiler, such as described at the beginning of [`installation.md`](installation.md).
If you want to interact directly with the notebooks, there is also a web service available, called [binder](https://mybinder.org/). So to start such a service : browse the main `README.md` file at the top of the [repository](https://github.com/chavid/ModernScientificCpp.git), and click on the "launch binder" button. The first time, because it building a docker image on the fly, the launch time may be VERY long.
If you have an account in the RENATER federation, you may use [JupyterHub@Paris-Saclay](`https://jupyterhub.ijclab.in2p3.fr/`) (see `jupyterhub.md`). This is supposedly faster. Yet you will need to clone yourself the material.
At last, if you want to play the notebooks directly on your machine, the file [`installation.md`](installation.md) try to sum up what to install. If you want to play them through docker, additional instructions are found in [`docker.md`](docker.md).
# Use of predefined docker images # Use of predefined docker images
If you want to run the notebooks locally on your workstation, the image to be used for most notebooks and examples is `gitlab-registry.in2p3.fr/chamont/modernscientificcpp/default:v4`. If you want to run the notebooks locally on your workstation, the image to be used for most notebooks and examples is `chavid/modern-scientific-cpp` (available from the docker hub).
In case you need a more advanced compiler features, which cannot be handled by the xeus-cling notebook kernel, you should rather rely on `gitlab-registry.in2p3.fr/chamont/modernscientificcpp/advanced:v4`. This image should be used for the advanced notebooks where the kernel is a Python one, and the extracts execution is delegated to the underlying system, through %%file and ! magic instructions. So to start a container with this image :
So to start a container with any of those images :
``` ```
docker run -it --rm -p 8888:8888 -v $PWD:/work -w /work <THE-IMAGE-PATH> bash docker run -it --rm -p 8888:8888 -v $PWD:/work -w /work chavid/modern-scientific-cpp bash
``` ```
Then you can start the usual notebook server: Then you can start the usual notebook server:
......
...@@ -9,10 +9,10 @@ The more we progress in the lessons, the more advanced C++ features we will use: ...@@ -9,10 +9,10 @@ The more we progress in the lessons, the more advanced C++ features we will use:
For some of the exercices, you will need to have **GNU time** installed where you want to execute the scripts. Try the command `\time -f "%U" echo toto` to check if it works fine. The `\` is there to avoid that bash use its own internal time command. If it does not work properly, try `conda install -c conda-forge time` (for example). For some of the exercices, you will need to have **GNU time** installed where you want to execute the scripts. Try the command `\time -f "%U" echo toto` to check if it works fine. The `\` is there to avoid that bash use its own internal time command. If it does not work properly, try `conda install -c conda-forge time` (for example).
## If you want to work with the notebooks ## If you want to intereact with the notebooks
Most of the education materials is given as notebooks. You can read them on the [public project](https://gitlab.in2p3.fr/chamont/modernscientificcpp), and copy/paste the C++ extracts. Yet, if you want to play the notebooks directly on your machine, you will need to install: Most of the education materials is given as notebooks. You can read them on the [public project](https://gitlab.in2p3.fr/chamont/modernscientificcpp), and copy/paste the C++ extracts. Yet, if you want to play the notebooks directly on your machine, you will need to install:
1. `git` and `git-lfs` so to dowload the files (see en.teaching-material.md) ; 1. `git` and `git-lfs` so to download the files (see en.teaching-material.md) ;
2. [jupyter](https://jupyter.org/) ecosystem ; 2. [jupyter](https://jupyter.org/) ecosystem ;
3. [xeus-cling](https://xeus-cling.readthedocs.io/en/latest/) C++ kernels for notebooks. 3. [xeus-cling](https://xeus-cling.readthedocs.io/en/latest/) C++ kernels for notebooks.
......
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
## Download the course material on the server ## Download the course material on the server
- At the "almost top" right corner of the windows, ask for `New`/`Terminal`. - At the "almost top" right corner of the windows, ask for `New`/`Terminal`.
- Get the material : `git clone https://gitlab.in2p3.fr/chamont/modernscientificcpp.git ModernScientificCpp`. - Get the material : `git clone https://github.com/chavid/ModernScientificCpp.git ModernScientificCpp`.
- Go back to your previous brwser window. - Go back to your previous browser window.
## Read the material ## Read the material
......
...@@ -18,6 +18,3 @@ The usual dirty workarounds applies : before pulling, either move globally your ...@@ -18,6 +18,3 @@ The usual dirty workarounds applies : before pulling, either move globally your
If you prefer to solve the conflicts, `git diff` will not help much. The right command is rather `nbdiff` , which is not available by default (till now) in the linux distributions. You will need to install the `nbdime` package first, for example with the command `conda install -y -c conda-forge nbdime`. If you prefer to solve the conflicts, `git diff` will not help much. The right command is rather `nbdiff` , which is not available by default (till now) in the linux distributions. You will need to install the `nbdime` package first, for example with the command `conda install -y -c conda-forge nbdime`.
TO BE INVESTIGATED:
- https://jupytext.readthedocs.io/en/latest/
- https://mybinder.org/
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
## Html ## Html
The material will be made available, progressively, on [this public project](https://gitlab.in2p3.fr/chamont/modernscientificcpp) of the IN2P3 gitlab server. There, one cam download a `zip` or `tar`file with anything included : lessons, videos, notebooks, exercises. The material will be made available, progressively, on [this public project](https://github.com/chavid/ModernScientificCpp.git). There, one can download a `zip` file with anything included : lessons, videos, notebooks, exercises.
## Git ## Git
Also, on can clone the project with the command `git clone https://gitlab.in2p3.fr/chamont/modernscientificcpp.git`. If you want to get the videos, previously install `git-lfs` on top of `git`. Also, on can clone the project with the command `git clone https://github.com/chavid/ModernScientificCpp.git`. If you want to get the videos, previously install `git-lfs` on top of `git`.
## Problem: `server certificate verification failed. CAfile: none CRLfile: none` ## About the problem: `server certificate verification failed. CAfile: none CRLfile: none`
This problem is rather common. It means your machine is probably not up to date for the package ca-certificates, and lack the recent letsencrypt certficates. Can be solved with something like `apt upgrade ca-certificates` (to be investiogated). This problem is rather common. It means your machine is probably not up to date for the package ca-certificates, and lack the recent letsencrypt certficates. Can be solved with something like `apt upgrade ca-certificates` (to be investiogated).
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment