Sign inSign up

sehrig/cling

By sehrig

Updated almost 6 years ago

Contains Cling and and Jupyter Notebook with Xeus-Cling kernel.

Image
3

1.5K

sehrig/cling repository overview

About

The container contains Cling, an interactive C++ interpreter that uses the Read-Eval-Print (REPL) concept. With Jupyter Notebook it is possible to use Cling in the web browser. To connect Cling with Jupyter Notebook, so called kernels are needed. The built-in kernel of Cling and the Xeus Cling kernel from Quandstack are installed. Cling also supports Nvidia CUDA. For this, a CUDA 8 environment is installed in the container.

Sources:

Requirements

Without CUDA, a normal Docker installation is sufficient. For CUDA, the Nvidia driver 375.26 or newer and the Nvidia Docker extension are required.

Usage

Cling

Cling without CUDA

docker run -it sehrig/cling cling

Cling with CUDA

docker run --gpus=all -it sehrig/cling cling -xcuda

It is also possible to add additional flags, e.g. the C++ standard: docker run --gpus=all -it sehrig/cling cling -xcuda --std=c++14

Jupyter Notebook/Lab

Jupyter Notebook without CUDA

docker run -it -p 8888:8888 sehrig/cling jupyter-notebook

Jupyter Notebook without CUDA

docker run -it -p 8888:8888 sehrig/cling jupyter-lab

Jupyter Notebook with CUDA

docker run -it --gpus=all -p 8888:8888 sehrig/cling jupyter-notebook

Jupyter Lab with CUDA

docker run -it --gpus=all -p 8888:8888 sehrig/cling jupyter-lab

If the browser does not open Jupyter Notebook/Lab automatically, please open the link from the terminal which contains 127.0.0.1.

Jupyter Kernels

There are two types of kernels, a kernel provided by Cling itself and a kernel provided by Quantstack (Xeus-Cling). Most features are similar, but there are some differences in functionality and support for helper libraries.

Built-in Kernel

The kernels Cling-C++-* uses the built-in kernel of Cling.

Xeus-Cling

The C++-* and Xeus-C++-*-CUDA kernels use the Quantstack kernel. The names differ because the C++-* kernels are installed by default and the Xeus-C++-*-CUDA kernel are container specific.

Recipe

The Docker recipe was generated with hpccm from Nvidia. The generator scripts can be found here.

Tag summary

Content type

Image

Digest

Size

3 GB

Last updated

almost 6 years ago

docker pull sehrig/cling