Skip to content
Worix
BrowsePublish
Log inSign Up

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...

89 downloads
Free
Reviewed

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

OptionDescription
-t, --terminalPrint output to stdout
-c, --createCreate new files with converted code (default)
-i, --inplaceModify 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-mappingClear 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

CUDAMUSA
cuda prefixmusa prefix
CUDAMUSA
cu prefix (driver API)mu prefix
__cuda__musa
cudaMallocmusaMalloc
cudaFreemusaFree
cudaMemcpymusaMemcpy
cudaLaunchKernelmusaLaunchKernel
__global____global__ (unchanged)
__device____device__ (unchanged)
__shared____shared__ (unchanged)

Workflow

  1. Backup code before conversion
  2. Run musify on target files
  3. Review changes - text-based conversion may need manual fixes
  4. Compile with MUSA compiler (mcc) to verify
  5. Test on MUSA device

References

  • Musify Blog Post
  • MUSA Documentation
  • Tutorial on MUSA

Download

ZIP package — ready to use

Skill Info

Creator
dongyang-mt
Downloads
89
Published
Mar 15, 2026
Updated
Mar 16, 2026