Musify MooreThreads

v0.1.0

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

0· 300· 1 versions· 0 current· 0 all-time· Updated 7h ago· MIT-0

Install

openclaw skills install musify

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

Version tags

latestvk9776rqq19sj00tx7yphcasm3x82998t