Kernel is the element that runs the cells in your notebook. First, you select a kernel when creating a notebook. Then, in the editor, you can manage the selected kernel or switch to another type.
You have the following kernel options for your notebook.
- Standard IPython kernel
- Selected by default, this is the standard Python 3 kernel, which is widely used for Jupyter notebooks. The IPython kernel option is recommended for heavy tasks with large datasets.
- Kotlin kernel
- This is the kernel that you will use if you select the Kotlin language for your notebook. This option is available only when IPython kernel is selected.
- Datalore kernel
- This is an experimental kernel for Python 3 with the following advanced features:
- Incremental updates: the Datalore kernel responds to your changes by recalculating only the affected cells. To do this, the kernel saves the values of all accessed variables so it can restore the original state of a cell and update the dependent cells accordingly. This mechanism is called serialization.
Reproducibility: incremental updates help keep the state of the notebook always up-to-date regardless of the order in which the cells are updated. This feature is crucial for reproducible analysis and collaborative work as you do not have to provide comments regarding the execution order when sharing a notebook.
Reactive mode: this feature provides you with live computation. When you change code in one cell, the kernel automatically recalculates all the dependent cells without you manually running them. The unaffected cells are not recalculated, which ensures fast operation while you can focus on coding. The toggle switch for the mode is in the lower-left corner of the editor screen. You can only activate it for the notebook currently opened in the editor.
This kernel is recommended for prototyping.
Kernel menu in the editor
Selected from the main menu, the Kernel menu allows you to manage kernels when working in the editor. You have the following options:
Interrupt kernel: used to stop the currently running task without stopping the kernel.
Restart kernel: used to stop and start the kernel again. The main reason why you might need this is to clean the runtime environment of old variable data.
- Basic / Large / GPU machine: if available on the selected plan, used to switch to another machine.
- IPython kernel / Datalore kernel: used to switch between the two the Python kernels. After the switch, the kernel will be automatically restarted.