Description of changes:
The RPMs vended on the developer portal align with Amazon Linux's consumption of Fabric Manager for AL2023. AL2023 is on different driver versions than Bottlerocket at the moment but this at least moves the build to use the same RPM distributions they consume.
Testing done:
Build aws-k8s-1.29-nvidia for x86_64 and aarch64 as well as aws-k8s-1.26-nvidia and validated smoke tests pass:
```
=========================================
Running sample UnifiedMemoryPerf
=========================================
GPU Device 0: "Turing" with compute capability 7.5
Running ........................................................
Overall Time For matrixMultiplyPerf
Printing Average of 20 measurements in (ms)
Size_KB UMhint UMhntAs UMeasy 0Copy MemCopy CpAsync CpHpglk CpPglAs
4 0.178 0.252 0.348 0.018 0.034 0.029 0.037 0.028
16 0.238 0.260 0.525 0.043 0.064 0.053 0.070 0.065
64 0.348 0.358 0.838 0.132 0.177 0.161 0.136 0.124
256 0.883 0.831 1.510 0.748 0.619 0.569 0.484 0.473
1024 3.068 3.032 3.785 5.245 2.491 2.321 1.938 1.986
4096 11.928 10.882 14.221 35.107 9.305 9.238 8.692 8.505
16384 57.204 55.393 65.832 275.677 49.163 48.778 46.061 45.991
NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
=========================================
Running sample deviceQuery
=========================================
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "Tesla T4"
CUDA Driver Version / Runtime Version 12.2 / 11.4
CUDA Capability Major/Minor version number: 7.5
Total amount of global memory: 14931 MBytes (15655829504 bytes)
(040) Multiprocessors, (064) CUDA Cores/MP: 2560 CUDA Cores
GPU Max Clock rate: 1590 MHz (1.59 GHz)
Memory Clock rate: 5001 Mhz
Memory Bus Width: 256-bit
L2 Cache Size: 4194304 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total shared memory per multiprocessor: 65536 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 1024
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 3 copy engine(s)
Run time limit on kernels: No
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Enabled
Device supports Unified Addressing (UVA): Yes
Device supports Managed Memory: Yes
Device supports Compute Preemption: Yes
Supports Cooperative Kernel Launch: Yes
Supports MultiDevice Co-op Kernel Launch: Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 0 / 30
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 12.2, CUDA Runtime Version = 11.4, NumDevs = 1
Result = PASS
=========================================
Running sample globalToShmemAsyncCopy
=========================================
[globalToShmemAsyncCopy] - Starting...
GPU Device 0: "Turing" with compute capability 7.5
MatrixA(1280,1280), MatrixB(1280,1280)
Running kernel = 0 - AsyncCopyMultiStageLargeChunk
Computing result using CUDA Kernel...
done
Performance= 336.59 GFlop/s, Time= 12.461 msec, Size= 4194304000 Ops, WorkgroupSize= 256 threads/block
Checking computed result for correctness: Result = PASS
Initializing...
GPU Device 0: "Turing" with compute capability 7.5
M: 4096 (16 x 256)
N: 4096 (16 x 256)
K: 4096 (16 x 256)
Preparing data for GPU...
Required shared memory size: 64 Kb
Computing... using high performance kernel compute_gemm_imma
Time: 4.223904 ms
TOPS: 32.54
=========================================
Running sample reductionMultiBlockCG
=========================================
reductionMultiBlockCG Starting...
GPU Device 0: "Turing" with compute capability 7.5
33554432 elements
numThreads: 1024
numBlocks: 40
Launching SinglePass Multi Block Cooperative Groups kernel
Average time: 1.037900 ms
Bandwidth: 129.316572 GB/s
GPU result = 1.992401361465
CPU result = 1.992401361465
=========================================
Running sample shfl_scan
=========================================
Starting shfl_scan
GPU Device 0: "Turing" with compute capability 7.5
> Detected Compute SM 7.5 hardware with 40 multi-processors
Starting shfl_scan
GPU Device 0: "Turing" with compute capability 7.5
> Detected Compute SM 7.5 hardware with 40 multi-processors
Computing Simple Sum test
---------------------------------------------------
Initialize test data [1, 1, 1...]
Scan summation for 65536 elements, 256 partial sums
Partial summing 256 elements with 1 blocks of size 256
Test Sum: 65536
Time (ms): 0.026592
65536 elements scanned in 0.026592 ms -> 2464.500732 MegaElements/s
CPU verify result diff (GPUvsCPU) = 0
CPU sum (naive) took 0.030940 ms
Computing Integral Image Test on size 1920 x 1080 synthetic data
---------------------------------------------------
Method: Fast Time (GPU Timer): 0.051200 ms Diff = 0
Method: Vertical Scan Time (GPU Timer): 0.127936 ms
CheckSum: 2073600, (expect 1920x1080=2073600)
=========================================
Running sample simpleAWBarrier
=========================================
./simpleAWBarrier starting...
GPU Device 0: "Turing" with compute capability 7.5
Launching normVecByDotProductAWBarrier kernel with numBlocks = 40 blockSize = 1024
Result = PASSED
./simpleAWBarrier completed, returned OK
=========================================
Running sample simpleAtomicIntrinsics
=========================================
simpleAtomicIntrinsics starting...
GPU Device 0: "Turing" with compute capability 7.5
Processing time: 126.327003 (ms)
simpleAtomicIntrinsics completed, returned OK
=========================================
Running sample simpleVoteIntrinsics
=========================================
[simpleVoteIntrinsics]
GPU Device 0: "Turing" with compute capability 7.5
> GPU device has 40 Multi-Processors, SM 7.5 compute capabilities
[VOTE Kernel Test 1/3]
Running <> kernel1 ...
OK
[VOTE Kernel Test 2/3]
Running <> kernel2 ...
OK
[VOTE Kernel Test 3/3]
Running <> kernel3 ...
OK
Shutting down...
=========================================
Running sample vectorAdd
=========================================
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done
=========================================
Running sample warpAggregatedAtomicsCG
=========================================
GPU Device 0: "Turing" with compute capability 7.5
CPU max matches GPU max
Warp Aggregated Atomics PASSED
```
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.
Description of changes: The RPMs vended on the developer portal align with Amazon Linux's consumption of Fabric Manager for AL2023. AL2023 is on different driver versions than Bottlerocket at the moment but this at least moves the build to use the same RPM distributions they consume.
Testing done: Build aws-k8s-1.29-nvidia for x86_64 and aarch64 as well as aws-k8s-1.26-nvidia and validated smoke tests pass:
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.