Skip to content

Commit

Permalink
Releases MATLAB and MATLAB Deep Learning Images for R2024b.
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelmcdonnellmw authored and Prabhakar Kumar committed Sep 12, 2024
1 parent 075076b commit 6835663
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 50 deletions.
4 changes: 2 additions & 2 deletions .github/actions/build-test-and-publish-matlab/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ inputs:
default: "${{ github.workspace }}/tests/licenses/license.dat"

runs:
using: 'composite'
using: "composite"
steps:
- name: Checkout repo
uses: actions/checkout@v4
Expand Down Expand Up @@ -75,4 +75,4 @@ runs:
- name: Publish images
shell: bash
run: |
docker push --all-tags ${{ inputs.base_image_name }}
docker push --all-tags ${{ inputs.base_image_name }}
7 changes: 3 additions & 4 deletions .github/workflows/build-test-and-publish-matlab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ on:
- ".github/actions/build-test-and-publish-matlab/action.yml"
- "matlab/*"
- "tests/matlab/*"
- "!matlab/*.md"

jobs:
test-shell-scripts:
Expand All @@ -38,7 +37,7 @@ jobs:
strategy:
fail-fast: false
matrix:
matlab_release: [R2024a, R2023b, R2023a]
matlab_release: [R2024b, R2024a, R2023b, R2023a]

runs-on: ubuntu-latest-m

Expand Down Expand Up @@ -80,7 +79,7 @@ jobs:
with:
variant: matlab
matlab_release: ${{ matrix.matlab_release }}
matlab_license_file: ${{ secrets.MATLAB_LICENSE_FILE_R2024A }}
matlab_license_file: ${{ secrets.MATLAB_LICENSE_FILE_R2024B }}
base_image_name: "mathworks/matlab"

- name: Build, Test, and Publish MATLAB Deep Learning
Expand All @@ -90,7 +89,7 @@ jobs:
with:
variant: matlab-deep-learning
matlab_release: ${{ matrix.matlab_release }}
matlab_license_file: ${{ secrets.MATLAB_LICENSE_FILE_R2024A }}
matlab_license_file: ${{ secrets.MATLAB_LICENSE_FILE_R2024B }}
base_image_name: "mathworks/matlab-deep-learning"

- name: Fail job if any tests failed
Expand Down
39 changes: 20 additions & 19 deletions matlab/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ Access MATLAB® in the cloud or in server environments by using the prebuilt

## Supported tags

| Tags | MATLAB Version | Operating System | Base Image
| ------------ |:--------------:| ---------------- |----------- |
| `latest`, `R2024a`, `r2024a` | R2024a | Ubuntu® 22.04 | ubuntu:22.04 |
| Tags | MATLAB Version | Operating System | Base Image |
| ---- |:--------------:| ---------------- | ---------- |
| `latest`, `R2024b`, `r2024b` | R2024b | Ubuntu® 22.04 | ubuntu:22.04 |
| `R2024a`, `r2024a` | R2024a | Ubuntu 22.04 | ubuntu:22.04 |
| `R2023b`, `r2023b` | R2023b | Ubuntu 22.04 | ubuntu:22.04 |
| `R2023a`, `r2023a` | R2023a | Ubuntu 20.04 | ubuntu:20.04 |
| `R2022b`, `r2022b` | R2022b | Ubuntu 20.04 | ubuntu:20.04 |
Expand All @@ -17,16 +18,16 @@ Access MATLAB® in the cloud or in server environments by using the prebuilt
| `R2020b`, `r2020b` | R2020b | Ubuntu 20.04 | ubuntu:20.04 |

## Quick Launch Instructions
This section describes an example workflow to pull the R2024a MATLAB image and launch an interactive MATLAB session from the image.
This section describes an example workflow to pull the R2024b MATLAB image and launch an interactive MATLAB session from the image.

To pull the R2024a MATLAB image to your machine, execute:
To pull the R2024b MATLAB image to your machine, execute:
```console
docker pull mathworks/matlab:r2024a
docker pull mathworks/matlab:r2024b
```

To launch the container with the `-browser` option, execute:
```console
docker run -it --rm -p 8888:8888 --shm-size=512M mathworks/matlab:r2024a -browser
docker run -it --rm -p 8888:8888 --shm-size=512M mathworks/matlab:r2024b -browser
```
You will be provided with a URL for accessing MATLAB in a web browser.

Expand All @@ -51,20 +52,20 @@ This section describes the different options you can use to run the container, d
To start the container and run MATLAB in an interactive command prompt, execute:

```console
$ docker run -it --rm --shm-size=512M mathworks/matlab:r2024a
$ docker run -it --rm --shm-size=512M mathworks/matlab:r2024b
```

### Run MATLAB non-interactively in batch mode

To start the container and run the MATLAB command `RAND`, execute:
```console
$ docker run --rm -e MLM_LICENSE_FILE=27000@MyLicenseServer mathworks/matlab:r2024a -batch rand
$ docker run --rm -e MLM_LICENSE_FILE=27000@MyLicenseServer mathworks/matlab:r2024b -batch rand
```
where you must replace `27000@MyLicenseServer` with the correct port number and DNS address for your network license manager.

Alternatively, if your system administrator provides you with a license file, you can mount the license file to the container and point `MLM_LICENSE_FILE` to the license file path in the container. For example, to start the container and run the MATLAB command `RAND` with a license file, execute:
```console
$ docker run --rm -v /path/to/local/license/file:/licenses/license.lic -e MLM_LICENSE_FILE=/licenses/license.lic mathworks/matlab:r2024a -batch rand
$ docker run --rm -v /path/to/local/license/file:/licenses/license.lic -e MLM_LICENSE_FILE=/licenses/license.lic mathworks/matlab:r2024b -batch rand
```

If a valid license file is provided, the container runs the command `RAND` in MATLAB and exits. For more information on using the network license manager, see [Use the Network License Manager](https://github.com/mathworks-ref-arch/matlab-dockerfile#use-the-network-license-manager).
Expand All @@ -73,7 +74,7 @@ If a valid license file is provided, the container runs the command `RAND` in MA

To start the container, execute:
```console
$ docker run -it --rm -p 8888:8888 --shm-size=512M mathworks/matlab:r2024a -browser
$ docker run -it --rm -p 8888:8888 --shm-size=512M mathworks/matlab:r2024b -browser
```

Running the above command prints text to your terminal containing the URL to access MATLAB. For example:
Expand All @@ -97,7 +98,7 @@ To access MATLAB in a web browser in custom Docker images or older MATLAB Docker
To start the MATLAB desktop, execute:

```console
$ docker run -it --rm -p 5901:5901 -p 6080:6080 --shm-size=512M mathworks/matlab:r2024a -vnc
$ docker run -it --rm -p 5901:5901 -p 6080:6080 --shm-size=512M mathworks/matlab:r2024b -vnc
```

To connect to the MATLAB desktop, either:
Expand All @@ -113,7 +114,7 @@ To start the container and run MATLAB desktop using `X11`, execute:

```console
$ xhost +
$ docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro --shm-size=512M mathworks/matlab:r2024a
$ docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro --shm-size=512M mathworks/matlab:r2024b
```

The MATLAB desktop window will open on your machine.
Expand All @@ -124,7 +125,7 @@ Note that the command above works only on a Linux® operating system with `X1
To override the default behavior of the container and run MATLAB with any set of arguments, such as `-logfile`, execute:

```console
$ docker run -it --rm --shm-size=512M mathworks/matlab:r2024a -logfile "logfilename.log"
$ docker run -it --rm --shm-size=512M mathworks/matlab:r2024b -logfile "logfilename.log"
```

### Environment variables
Expand All @@ -136,18 +137,18 @@ Use this environment variable when you want to use either a license file or a ne

<i>Example:</i>

`docker run -it --rm -e MLM_LICENSE_FILE=27000@MyLicenseServer --shm-size=512M mathworks/matlab:r2024a`
`docker run -it --rm -e MLM_LICENSE_FILE=27000@MyLicenseServer --shm-size=512M mathworks/matlab:r2024b`
<br />

`docker run -it --rm -e MLM_LICENSE_FILE=/license.dat --shm-size=512M mathworks/matlab:r2024a`
`docker run -it --rm -e MLM_LICENSE_FILE=/license.dat --shm-size=512M mathworks/matlab:r2024b`

#### `PROXY_SETTINGS`

Use this environment variable when you want to use a proxy server to connect to the MathWorks licensing servers.

<i>Example:</i>

`docker run -it --rm -e PROXY_SETTINGS=<proxy-server-address> --shm-size=512M mathworks/matlab:r2024a`
`docker run -it --rm -e PROXY_SETTINGS=<proxy-server-address> --shm-size=512M mathworks/matlab:r2024b`

You can specify the proxy server address using any of the following forms:

Expand All @@ -165,15 +166,15 @@ Use this environment variable when you want to change the password used to acces

<i>Example:</i>

`docker run -it --rm -e PASSWORD=ILoveMATLAB -p 5901:5901 -p 6080:6080 --shm-size=512M mathworks/matlab:r2024a -vnc`
`docker run -it --rm -e PASSWORD=ILoveMATLAB -p 5901:5901 -p 6080:6080 --shm-size=512M mathworks/matlab:r2024b -vnc`

### Create a custom Docker image from the MATLAB container base image

Create a file named `Dockerfile` with the following content:

```dockerfile
## Build from the MATLAB base image
FROM mathworks/matlab:r2024a
FROM mathworks/matlab:r2024b

## Copy your script/function to be executed.
COPY myscript.m ./
Expand Down
49 changes: 25 additions & 24 deletions matlab/README_DEEP_LEARNING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,27 @@ Speed up your deep learning applications by training neural networks in the MATL

## Supported tags

|Tags |MATLAB Version|Operating System|Base Image |
|----------------------|------------------------|--------------------------|--------------------|
| `latest`, `R2024a`, `r2024a` | R2024a | Ubuntu&reg; 22.04 | ubuntu:22.04 |
|`R2023b`, `r2023b` |R2023b |Ubuntu 22.04 |ubuntu:22.04|
|`R2023a`, `r2023a` |R2023a |Ubuntu 20.04 |ubuntu:20.04|
|`R2022b`, `r2022b` |R2022b |Ubuntu 20.04 |ubuntu:20.04|
|`R2022a`, `r2022a` |R2022a |Ubuntu 20.04 |ubuntu:20.04|
|`R2021b`, `r2021b` |R2021b |Ubuntu 20.04 |ubuntu:20.04|
| Tags | MATLAB Version | Operating System | Base Image |
| ---- |:--------------:| ---------------- | ---------- |
| `latest`, `R2024b`, `r2024b` | R2024b | Ubuntu&reg; 22.04 | ubuntu:22.04 |
| `R2024a`, `r2024a` | R2024a | Ubuntu 22.04 | ubuntu:22.04 |
| `R2023b`, `r2023b` | R2023b | Ubuntu 22.04 | ubuntu:22.04 |
| `R2023a`, `r2023a` | R2023a | Ubuntu 20.04 | ubuntu:20.04 |
| `R2022b`, `r2022b` | R2022b | Ubuntu 20.04 | ubuntu:20.04 |
| `R2022a`, `r2022a` | R2022a | Ubuntu 20.04 | ubuntu:20.04 |
| `R2021b`, `r2021b` | R2021b | Ubuntu 20.04 | ubuntu:20.04 |

## Quick Launch Instructions
This section describes an example workflow to pull the R2024a MATLAB Deep Learning image and launch an interactive MATLAB session from the image.
This section describes an example workflow to pull the R2024b MATLAB Deep Learning image and launch an interactive MATLAB session from the image.

To pull the R2024a MATLAB image to your machine, execute:
To pull the R2024b MATLAB image to your machine, execute:
```console
docker pull mathworks/matlab-deep-learning:r2024a
docker pull mathworks/matlab-deep-learning:r2024b
```

To launch the container with the `-browser` option, execute:
```console
docker run -it --rm -p 8888:8888 --shm-size=512M mathworks/matlab-deep-learning:r2024a -browser
docker run -it --rm -p 8888:8888 --shm-size=512M mathworks/matlab-deep-learning:r2024b -browser
```

Executing this command will display a URL on which you can access MATLAB, for example:
Expand Down Expand Up @@ -82,7 +83,7 @@ Before you start the container, check that your graphics driver is up to date. S
To start the container and run MATLAB with GPUs on your host machine, execute:

```console
$ docker run --gpus all -it --rm --shm-size=512M mathworks/matlab-deep-learning:r2024a
$ docker run --gpus all -it --rm --shm-size=512M mathworks/matlab-deep-learning:r2024b
```

By default, a container does not have access to hardware resources of its host. To enable the container to access the GPUs of the host system, use the `--gpus` flag when you execute the `docker run` command. Set this flag to `all` if you want the container to have access to all the GPUs of the host machine.
Expand All @@ -94,19 +95,19 @@ For more information, see [Access an NVIDIA GPU](https://docs.docker.com/engine/
To start the container and run MATLAB in an interactive command prompt, execute:

```console
$ docker run -it --rm mathworks/matlab-deep-learning:r2024a
$ docker run -it --rm mathworks/matlab-deep-learning:r2024b
```

### Run MATLAB non-interactively in batch mode
To start the container and run the MATLAB command `RAND`, execute:
```console
$ docker run --rm -e MLM_LICENSE_FILE=27000@MyLicenseServer mathworks/matlab-deep-learning:r2024a -batch rand
$ docker run --rm -e MLM_LICENSE_FILE=27000@MyLicenseServer mathworks/matlab-deep-learning:r2024b -batch rand
```
where you must replace `27000@MyLicenseServer` with the correct port number and DNS address for your network license manager.

Alternatively, if your system administrator provides you with a license file, you can mount the license file to the container and point `MLM_LICENSE_FILE` to the license file path in the container. For example, to start the container and run the MATLAB command `RAND` with a license file, execute:
```console
$ docker run --rm -v /path/to/local/license/file:/licenses/license.lic -e MLM_LICENSE_FILE=/licenses/license.lic mathworks/matlab-deep-learning:r2024a -batch rand
$ docker run --rm -v /path/to/local/license/file:/licenses/license.lic -e MLM_LICENSE_FILE=/licenses/license.lic mathworks/matlab-deep-learning:r2024b -batch rand
```

If a valid license file is provided, the container runs the command `RAND` in MATLAB and exits. For more information on using the network license manager, see [Use the Network License Manager](https://github.com/mathworks-ref-arch/matlab-dockerfile#use-the-network-license-manager).
Expand All @@ -115,7 +116,7 @@ If a valid license file is provided, the container runs the command `RAND` in MA

To start the container, execute:
```console
$ docker run -it --rm -p 8888:8888 --shm-size=512M mathworks/matlab:r2024a -browser
$ docker run -it --rm -p 8888:8888 --shm-size=512M mathworks/matlab:r2024b -browser
```

Running the above command prints text to your terminal containing the URL to access MATLAB. For example:
Expand All @@ -140,7 +141,7 @@ To access MATLAB in a web browser in custom Docker images with MATLAB or older M
To start the MATLAB desktop, execute:

```console
$ docker run -it --rm -p 5901:5901 -p 6080:6080 --shm-size=512M mathworks/matlab-deep-learning:r2024a -vnc
$ docker run -it --rm -p 5901:5901 -p 6080:6080 --shm-size=512M mathworks/matlab-deep-learning:r2024b -vnc
```

To connect to the MATLAB desktop, either:
Expand All @@ -156,7 +157,7 @@ To start the container and run MATLAB desktop using X11, execute:

```console
$ xhost +
$ docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro --shm-size=512M mathworks/matlab-deep-learning:r2024a
$ docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro --shm-size=512M mathworks/matlab-deep-learning:r2024b
```

The MATLAB desktop window will open on your machine. Note that the command above works only on a Linux operating system with ```X11``` and its dependencies installed.
Expand All @@ -167,7 +168,7 @@ The MATLAB desktop window will open on your machine. Note that the command above
To override the default behavior of the container and run MATLAB with any set of arguments, such as `-logfile`, execute:

```console
$ docker run -it --rm mathworks/matlab-deep-learning:r2024a -logfile "logfilename.log"
$ docker run -it --rm mathworks/matlab-deep-learning:r2024b -logfile "logfilename.log"
```

## Environment variables
Expand All @@ -178,17 +179,17 @@ Use this environment variable when you want to use either a license file or a ne

<i>Example:</i>

`docker run -it --rm -e MLM_LICENSE_FILE=27000@MyLicenseServer mathworks/matlab-deep-learning:r2024a`
`docker run -it --rm -e MLM_LICENSE_FILE=27000@MyLicenseServer mathworks/matlab-deep-learning:r2024b`
<br />

`docker run -it --rm -e MLM_LICENSE_FILE=/license.dat mathworks/matlab-deep-learning:r2024a`
`docker run -it --rm -e MLM_LICENSE_FILE=/license.dat mathworks/matlab-deep-learning:r2024b`

#### ```PROXY_SETTINGS```
Use this environment variable when you want to use a proxy server to connect to the MathWorks licensing servers.

<i>Example:</i>

`docker run -it --rm -e PROXY_SETTINGS=<proxy-server-address> mathworks/matlab-deep-learning:r2024a`
`docker run -it --rm -e PROXY_SETTINGS=<proxy-server-address> mathworks/matlab-deep-learning:r2024b`

You can specify the proxy server address using any of the following forms:

Expand All @@ -205,7 +206,7 @@ Use this environment variable when you want to change the password used to acces

<i>Example:</i>

`docker run -it --rm -e PASSWORD=ILoveMATLAB -p 5901:5901 -p 6080:6080 --shm-size=512M mathworks/matlab-deep-learning:r2024a -vnc`
`docker run -it --rm -e PASSWORD=ILoveMATLAB -p 5901:5901 -p 6080:6080 --shm-size=512M mathworks/matlab-deep-learning:r2024b -vnc`

### Install updates, toolboxes, add-ons in the container and save changes

Expand Down
2 changes: 1 addition & 1 deletion matlab/docker-bake.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# General Configuration variables

variable "LATEST_RELEASE" {
default = "R2024a"
default = "R2024b"
}

variable "MATLAB_RELEASE" {
Expand Down
3 changes: 3 additions & 0 deletions matlab/release-config/R2024b.env.hcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Copyright 2024 The MathWorks, Inc.

MATLAB_RELEASE="R2024b"

0 comments on commit 6835663

Please sign in to comment.