PortPilot
Benchmark · pre-generated, always available← back to leaderboard
Migration Readiness Report

openai/whisper

https://github.com/openai/whisper
Mostly ready

openai/whisper scored 85/100 for ROCm readiness (Mostly ready). Of 13 CUDA-related findings, 9 work as-is on ROCm PyTorch, 4 need a mechanical HIPify-style change, and 0 are manual blockers. The path to AMD is mostly mechanical: repin wheels and swap CUDA-only libraries for their ROCm builds.

9Works as-is
4Mechanical change
0Manual blocker
Findings
13
Python files
20
Files scanned
45
Custom CUDA kernels
none

Findings by file

13 findings · 7 files
pyproject.toml· 1
B
Triton dependency
"triton>=2; (platform_machine=='x86_64' and sys_platform=='linux') or sys_platform=='linux2'",
:31

OpenAI Triton has an AMD backend. Kernels usually run on ROCm with a matching Triton build; occasional tuning is needed.

RecommendInstall the ROCm-enabled Triton build.

Suggested change · advisory
# pyproject.toml:31
- "triton>=2; (platform_machine=='x86_64' and sys_platform=='linux') or sys_platform=='linux2'",
+ "triton>=2; (platform_machine=='x86_64' and sys_platform=='linux') or sys_platform=='linux2'", # advisory: see ROCm note above
requirements.txt· 1
B
Triton dependency
triton>=2.0.0;platform_machine=="x86_64" and sys_platform=="linux" or sys_platform=="linux2"
:7

OpenAI Triton has an AMD backend. Kernels usually run on ROCm with a matching Triton build; occasional tuning is needed.

RecommendInstall the ROCm-enabled Triton build.

Suggested change · advisory
# requirements.txt:7
- triton>=2.0.0;platform_machine=="x86_64" and sys_platform=="linux" or sys_platform=="linux2"
+ triton>=2.0.0;platform_machine=="x86_64" and sys_platform=="linux" or sys_platform=="linux2" # advisory: see ROCm note above
whisper/triton_ops.py· 2
B
Triton dependency
import triton
:7

OpenAI Triton has an AMD backend. Kernels usually run on ROCm with a matching Triton build; occasional tuning is needed.

RecommendInstall the ROCm-enabled Triton build.

Suggested change · advisory
# whisper/triton_ops.py:7
- import triton
+ import triton # advisory: see ROCm note above
B
Triton dependency
import triton.language as tl
:8

OpenAI Triton has an AMD backend. Kernels usually run on ROCm with a matching Triton build; occasional tuning is needed.

RecommendInstall the ROCm-enabled Triton build.

Suggested change · advisory
# whisper/triton_ops.py:8
- import triton.language as tl
+ import triton.language as tl # advisory: see ROCm note above
tests/test_timing.py· 2
A
.cuda() tensor/module move
x_cuda = torch.from_numpy(x_numpy).cuda()
:59

.cuda() on tensors and modules is honoured by ROCm PyTorch and moves data to the AMD GPU. No change needed.

RecommendNo change required on ROCm PyTorch.

A
.cuda() tensor/module move
filtered_gpu = median_filter(x.cuda(), filter_width).cpu()
:94

.cuda() on tensors and modules is honoured by ROCm PyTorch and moves data to the AMD GPU. No change needed.

RecommendNo change required on ROCm PyTorch.

tests/test_transcribe.py· 2
A
Device string "cuda"
device = "cuda" if torch.cuda.is_available() else "cpu"
:12

The literal device string "cuda" resolves to the active AMD GPU on ROCm PyTorch. .to("cuda") / device="cuda" need no edits.

RecommendNo change required on ROCm PyTorch.

A
torch.cuda API usage
device = "cuda" if torch.cuda.is_available() else "cpu"
:12

Calls under torch.cuda.* are aliased by ROCm builds of PyTorch. The same code runs on AMD Instinct GPUs unchanged — torch.cuda.is_available(), streams, events and AMP all map onto HIP.

RecommendNo change required. Install the ROCm build of PyTorch (pip install torch --index-url https://download.pytorch.org/whl/rocm6.1).

whisper/__init__.py· 2
A
Device string "cuda"
device = "cuda" if torch.cuda.is_available() else "cpu"
:131

The literal device string "cuda" resolves to the active AMD GPU on ROCm PyTorch. .to("cuda") / device="cuda" need no edits.

RecommendNo change required on ROCm PyTorch.

A
torch.cuda API usage
device = "cuda" if torch.cuda.is_available() else "cpu"
:131

Calls under torch.cuda.* are aliased by ROCm builds of PyTorch. The same code runs on AMD Instinct GPUs unchanged — torch.cuda.is_available(), streams, events and AMP all map onto HIP.

RecommendNo change required. Install the ROCm build of PyTorch (pip install torch --index-url https://download.pytorch.org/whl/rocm6.1).

whisper/transcribe.py· 3
A
torch.cuda API usage
if torch.cuda.is_available():
:129

Calls under torch.cuda.* are aliased by ROCm builds of PyTorch. The same code runs on AMD Instinct GPUs unchanged — torch.cuda.is_available(), streams, events and AMP all map onto HIP.

RecommendNo change required. Install the ROCm build of PyTorch (pip install torch --index-url https://download.pytorch.org/whl/rocm6.1).

A
Device string "cuda"
parser.add_argument("--device", default="cuda" if torch.cuda.is_available() else "cpu", help="device to use for PyTorch inference")
:532

The literal device string "cuda" resolves to the active AMD GPU on ROCm PyTorch. .to("cuda") / device="cuda" need no edits.

RecommendNo change required on ROCm PyTorch.

A
torch.cuda API usage
parser.add_argument("--device", default="cuda" if torch.cuda.is_available() else "cpu", help="device to use for PyTorch inference")
:532

Calls under torch.cuda.* are aliased by ROCm builds of PyTorch. The same code runs on AMD Instinct GPUs unchanged — torch.cuda.is_available(), streams, events and AMP all map onto HIP.

RecommendNo change required. Install the ROCm build of PyTorch (pip install torch --index-url https://download.pytorch.org/whl/rocm6.1).