🧪 Skills
Musify MooreThreads
Convert 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...
v0.1.0
Description
name: musify description: Convert 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 equivalents, or porting NVIDIA GPU code to Moore Threads GPUs. Supports batch conversion of .cu, .cuh, .cpp, .h files with text-based API mapping.
Musify - CUDA to MUSA Code Conversion
Musify converts CUDA code to MUSA (Moore Threads GPU architecture) using text-based API mapping.
Installation
# Install dependencies
pip install ahocorapy
# musify-text should be available in MUSA toolkit
Basic Usage
# 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
Batch Conversion
# 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)
Options
| 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 |
Exclusion Markers
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
Common CUDA → MUSA Mappings
| 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) |
Workflow
- Backup code before conversion
- Run musify on target files
- Review changes - text-based conversion may need manual fixes
- Compile with MUSA compiler (
mcc) to verify - Test on MUSA device
References
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!