Install
openclaw skills install musifyConvert CUDA code to MUSA (Moore Threads GPU) using the musify tool. Use when migrating CUDA codebases to MUSA platform, converting CUDA kernels/APIs to MUSA...
openclaw skills install musifyMusify converts CUDA code to MUSA (Moore Threads GPU architecture) using text-based API mapping.
# Install dependencies
pip install ahocorapy
# musify-text should be available in MUSA toolkit
# Convert files in-place (CUDA -> MUSA)
musify-text --inplace -- file1.cu file2.cpp
# Convert and create new files (default)
musify-text --create -- a.cu b.cpp
# Print to stdout
musify-text -t -- file.cu
# Find and convert all CUDA/C++ files in directory
musify-text --inplace -- $(find /path/to/project -name '*.cu' -o -name '*.cuh' -o -name '*.cpp' -o -name '*.h')
# Using ripgrep (recommended)
musify-text --inplace -- $(rg --files -g '*.cu' -g '*.cuh' -g '*.cpp' -g '*.h' /path/to/project)
| Option | Description |
|---|---|
-t, --terminal | Print output to stdout |
-c, --create | Create new files with converted code (default) |
-i, --inplace | Modify files in-place |
-d {c2m,m2c} | Conversion direction: c2m (CUDA→MUSA, default), m2c (MUSA→CUDA) |
-m <file.json> | Custom API mapping file (can specify multiple) |
--clear-mapping | Clear default mapping, use only custom mappings |
-l {DEBUG,INFO,WARNING} | Log level |
Prevent specific code sections from being converted:
// MUSIFY_EXCL_LINE - Exclude this line
char *str = "cudaMalloc"; // MUSIFY_EXCL_LINE
// MUSIFY_EXCL_START - Start exclusion block
char *apis[] = {
"cudaInit",
"cudaFree"
};
// MUSIFY_EXCL_STOP - End exclusion block
| CUDA | MUSA |
|---|---|
cuda prefix | musa prefix |
CUDA | MUSA |
cu prefix (driver API) | mu prefix |
__cuda | __musa |
cudaMalloc | musaMalloc |
cudaFree | musaFree |
cudaMemcpy | musaMemcpy |
cudaLaunchKernel | musaLaunchKernel |
__global__ | __global__ (unchanged) |
__device__ | __device__ (unchanged) |
__shared__ | __shared__ (unchanged) |
mcc) to verify