sdk: update following Go version bump#896
sdk: update following Go version bump#896vigh-m wants to merge 5 commits intobottlerocket-os:developfrom
Conversation
Signed-off-by: Vighnesh Maheshwari <vighmah@amazon.com>
Signed-off-by: Vighnesh Maheshwari <vighmah@amazon.com>
Signed-off-by: Vighnesh Maheshwari <vighmah@amazon.com>
Build the ecr-credential-provider-1.36 using the v1.35 sources since upstream has not released rc sources yet. Setting this up to use 1.36 sources when they are available Signed-off-by: Vighnesh Maheshwari <vighmah@amazon.com>
Signed-off-by: Vighnesh Maheshwari <vighmah@amazon.com>
|
From reading the Go 1.26 release notes, I think the below changes are worth noting: New garbage collectorThe Green Tea garbage collector, previously available as an experiment in Go 1.25, is now enabled by default after incorporating feedback. This garbage collector’s design improves the performance of marking and scanning small objects through better locality and CPU scalability. Benchmark results vary, but we expect somewhere between a 10–40% reduction in garbage collection overhead in real-world programs that heavily use the garbage collector. Further improvements, on the order of 10% in garbage collection overhead, are expected when running on newer amd64-based CPU platforms (Intel Ice Lake or AMD Zen 4 and newer), as the garbage collector now leverages vector instructions for scanning small objects when possible. The new garbage collector may be disabled by setting GOEXPERIMENT=nogreenteagc at build time. This opt-out setting is expected to be removed in Go 1.27. If you disable the new garbage collector for any reason related to its performance or behavior, please file an issue. CompilerThe compiler can now allocate the backing store for slices on the stack in more situations, which improves performance. If this change is causing trouble, the bisect tool can be used to find the allocation causing trouble using the -compile=variablemake flag. All such new stack allocations can also be turned off using -gcflags=all=-d=variablemakehash=n. If you encounter issues with this optimization, please file an issue. |
Description of changes:
host-ctrto use Go v1.26nvidia-container-toolkitto v1.19.0. This change brings in a new hookDisableDeviceNodeModificationHookwhen using CDI mode.From the PR in nvidia-container-toolkit:
This new hook looks safe to update based on the above and testing done.
mofedEnableddefault issue that's mentioned in [Question]: Enabling MOFED by default is a breaking change. NVIDIA/k8s-device-plugin#1692.We're defaulting to
falsesince it's expected that the AWS EFA device plugin will handle mounting theuverbsdevices.kubernetes-1.36Testing done:
cdi-crimode andvolume-mountsmode, with and without MIG enabled.mofedEnabled: falseby launching pods on EFA enabled instancesDetails
For the pod that didn't request any EFA device (just a GPU):
❯ k logs gpu-mofed-test --- /dev/infiniband --- NONE --- /dev/nvidia* --- crw-rw-rw-. 1 root root 195, 254 Apr 17 18:05 /dev/nvidia-modeset crw-rw-rw-. 1 root root 238, 0 Apr 17 18:05 /dev/nvidia-uvm crw-rw-rw-. 1 root root 238, 1 Apr 17 18:05 /dev/nvidia-uvm-tools crw-rw-rw-. 1 root root 195, 3 Apr 17 18:05 /dev/nvidia3 crw-rw-rw-. 1 root root 195, 255 Apr 17 18:05 /dev/nvidiactl --- env --- HOSTNAME=gpu-mofed-test NVIDIA_CTK_LIBCUDA_DIR=/x86_64-bottlerocket-linux-gnu/sys-root/usr/lib/nvidia/tesla NVIDIA_GDRCOPY=enabled NVIDIA_GDS=enabled NVIDIA_VISIBLE_DEVICES=voidFor the pod that requesting one EFA device and one GPU:
/usr/bin/nvidia-device-plugin --versiongave me an errorBut
/usr/bin/nvidia-device-plugin --helpshows:... COMMANDS: ... --mofed-enabled ensure that containers that request NVIDIA GPU resources are started with MOFED support (default: true) [$MOFED_ENABLED] ...Which has
default: trueas expected of the new version of the device-plugink8s-1.36rc by building an AMI and verifying that it launchesToDo:
Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.