Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: inst is not necessary

Here, we bring together information regarding how to control your computing resources on the C3 AI Suite.

Jupyter

Access Through Static Console

The Jupyter service is controlled through the 'Jupyter' type. To start the Juptyer service with the default container profile, execute Jupyter.inst().start() within the static console. To stop the Jupyter service execute Jupyter.inst().stop().

...

Jupyter.startWithConfig({'resourceProfile': 'BasicGpu'})


Creating new Resource Profile

As a default, tags come with "Basic" and "BasicGpu" profiles. In case these do not fit your needs, it is possible to create a new profile from your static console using:

var rp = ResourceProfile.upsert({'id': 'YourProfileName', 'name': 'YourProfileName', 'cpuCount': <cpus>, 'memoryMb': <cpu_memory>, 'diskGb': <disk_memory>, 'gpuCount': <gpus>, 'gpuMemoryMb': <gpu_memory>});

In addition to that, to effectively use the total memory requested in your resource profile, you will need to change the memory limits that are set at the user level of your Jupyter type. This can be done from the static console with:

Jupyter.setMemoryOverride(<cpu_memory>, ConfigOverride.USER)

where <cpu_memory>

matches the field 'memoryMb' of your RP instance.

If you want to make this your default profile whenever launching a Jupyter service, you can do so with:

...

Keep in mind that, currently, the maximum number of GPUs that can be used on the training cluster is one. If you request more than one, your static console is going to be unresponsive for some time, and you won't be able to start your Jupyter service. The same thing will happen if you request resources that surpass the limits of the current underlying hardware infrastructure or the limits set by C3 Admin. These are summarized in the table below:


ResourceMax CountMax Memory (MB)
vCPUs, no GPU15
CPU only654*1024
GPU only112*1024
CPUs + GPU
  • 5 CPUs
  • 1 GPU
  • 48*1024
vCPUs, with GPU540*1024GPU112*1024
  • (CPU)
  • 12*1024 (GPU)


If you are not sure about how to make your choice, but you know you need more than 1 CPU core, we recommend using the QuarterNode_cpu Resource Profile:

var rp = ResourceProfile.upsert({'id': 'QuarterNode_cpu', 'name': 'QuarterNode_cpu', 'cpuCount': 4, 'memoryMb': 16*1024, 'diskGb': 512, 'gpuCount': 0, 'gpuMemoryMb': 0});

Jupyter.setMemoryOverride(16*1024, ConfigOverride.USER);

Jupyter.startWithConfig({'resourceProfile': 'QuarterNode_cpu'});


If you are using GPUs, we recommend using the entire node, since each node has only one GPU. You can do that by creating the FullNode_gpu Resource Profile:

var rp = ResourceProfile.upsert({'id': 'FullNode_gpu', 'name': 'FullNode_gpu', 'cpuCount': 5, 'memoryMb': 48*1024, 'diskGb': 512, 'gpuCount': 1, 'gpuMemoryMb': 12*1024});

Jupyter.setMemoryOverride(12*1024, ConfigOverride.USER);

Jupyter.startWithConfig({'resourceProfile': 'FullNode_gpu'});



If you have additional requirements, please contact DTI DevOps.


Access Through IDS

Through IDS, clear controls regarding Jupyter are exposed under the 'ML Studio' section for Application. When you've selected a project, you need to start the Jupyter service to access notebooks on that project. In the creation process, you're able to select the container profile to use for your Jupyter service. By default, the 'BasicGpu' profile offers a single K80 GPU.

...