cuda-wasm
Version:
High-performance CUDA to WebAssembly/WebGPU transpiler with Rust safety - Run GPU kernels in browsers and Node.js
185 lines • 6.43 kB
JSON
{
"name": "cuda-wasm",
"version": "1.1.1",
"description": "High-performance CUDA to WebAssembly/WebGPU transpiler with Rust safety - Run GPU kernels in browsers and Node.js",
"main": "dist/index.js",
"module": "dist/index.esm.js",
"types": "dist/index.d.ts",
"browser": "dist/index.browser.js",
"bin": {
"cuda-wasm": "./cli/index.js"
},
"exports": {
".": {
"import": "./dist/index.esm.js",
"require": "./dist/index.js",
"browser": "./dist/index.browser.js",
"types": "./dist/index.d.ts"
},
"./wasm": {
"import": "./dist/cuda_rust_wasm_bg.wasm",
"require": "./dist/cuda_rust_wasm_bg.wasm"
}
},
"scripts": {
"build": "npm run clean && npm run build:rust && npm run build:wasm && npm run build:node && npm run build:types",
"build:all": "npm run build",
"build:rust": "cargo build --release --features optimized-build",
"build:rust:native": "cargo build --release --features native-gpu,optimized-build,parallel-compilation",
"build:rust:wasm": "cargo build --profile wasm --target wasm32-unknown-unknown --features wasm-simd",
"build:wasm": "./scripts/build-wasm.sh",
"build:wasm:dev": "BUILD_MODE=dev ./scripts/build-wasm.sh",
"build:wasm:size": "OPTIMIZE_SIZE=true BUILD_MODE=release ./scripts/build-wasm.sh",
"build:wasm:speed": "OPTIMIZE_SIZE=false BUILD_MODE=release ./scripts/build-wasm.sh",
"build:wasm:simd": "ENABLE_SIMD=true ./scripts/build-wasm.sh",
"build:node": "node-gyp rebuild",
"build:types": "tsc --declaration --emitDeclarationOnly --outDir dist",
"clean": "rm -rf dist build pkg target/wasm32-unknown-unknown .cargo-cache",
"clean:full": "cargo clean && npm run clean",
"clean:cache": "ENABLE_CACHE=false ./scripts/build-wasm.sh clean",
"test": "npm run test:rust && npm run test:node && npm run test:integration",
"test:rust": "cargo test --features native-gpu,optimized-build",
"test:wasm": "cargo test --target wasm32-unknown-unknown --features wasm-simd",
"test:node": "jest --passWithNoTests",
"test:integration": "node scripts/test-integration.js",
"test:package": "npm pack && npm install -g ./cuda-wasm-core-*.tgz && npm run test:smoke",
"test:smoke": "cuda-wasm --help && node -e 'require(\"cuda-rust-wasm\")'",
"test:bench": "cargo bench --features native-gpu",
"test:coverage": "cargo tarpaulin --out html --output-dir coverage --features native-gpu",
"test:memory": "valgrind --tool=memcheck cargo test --features native-gpu",
"lint": "cargo clippy --features native-gpu -- -W clippy::all && eslint cli/ --ext .js --fix",
"lint:rust": "cargo clippy --features native-gpu -- -D warnings",
"lint:js": "eslint cli/ --ext .js --fix",
"format": "cargo fmt && prettier --write 'cli/**/*.js' 'scripts/**/*.js'",
"format:check": "cargo fmt -- --check && prettier --check 'cli/**/*.js' 'scripts/**/*.js'",
"audit": "cargo audit && npm audit",
"prebuild": "echo 'Skipping build checks'",
"prepublishOnly": "echo 'Publishing dist files'",
"postinstall": "node scripts/postinstall.js",
"demo": "cd demo && npm start",
"docs": "cargo doc --open --features native-gpu,optimized-build",
"docs:build": "cargo doc --no-deps --features native-gpu,optimized-build",
"size-analysis": "npm run build:wasm && twiggy top dist/cuda_rust_wasm_bg.wasm -n 20",
"benchmark": "cargo bench --features native-gpu && node cli/benchmark.js",
"benchmark:wasm": "npm run build:wasm && node scripts/benchmark-wasm.js",
"profile": "cargo build --profile bench --features native-gpu && perf record target/release/cuda2rust",
"dev": "npm run build:wasm:dev && npm run test:node",
"dev:watch": "cargo watch -x 'build --profile wasm-dev --target wasm32-unknown-unknown'",
"ci": "npm run format:check && npm run lint && npm run test && npm run build && npm run audit",
"ci:quick": "npm run lint:rust && cargo test --features native-gpu",
"version": "npm run build && git add dist/",
"postversion": "git push && git push --tags",
"release": "npm run ci && npm version patch && npm publish",
"release:minor": "npm run ci && npm version minor && npm publish",
"release:major": "npm run ci && npm version major && npm publish"
},
"repository": {
"type": "git",
"url": "git+https://github.com/ruvnet/ruv-FANN.git",
"directory": "cuda-wasm"
},
"keywords": [
"cuda",
"webassembly",
"wasm",
"webgpu",
"gpu",
"parallel-computing",
"transpiler",
"rust",
"scientific-computing",
"machine-learning",
"high-performance-computing",
"browser-gpu",
"compute-shaders",
"nvidia",
"opencl",
"vulkan",
"performance",
"compiler",
"kernel",
"simd"
],
"author": {
"name": "CUDA-WASM Team",
"url": "https://github.com/ruvnet/ruv-FANN"
},
"contributors": [
{
"name": "VibeCast Team",
"url": "https://github.com/vibecast"
}
],
"license": "MIT",
"bugs": {
"url": "https://github.com/ruvnet/ruv-FANN/issues"
},
"homepage": "https://github.com/ruvnet/ruv-FANN/tree/main/cuda-wasm#readme",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ruvnet"
},
"dependencies": {
"commander": "^11.1.0",
"chalk": "^4.1.2",
"semver": "^7.5.4"
},
"devDependencies": {
"@types/node": "^20.10.0",
"@types/jest": "^29.5.8",
"jest": "^29.7.0",
"node-gyp": "^10.0.1",
"typescript": "^5.3.2",
"eslint": "^8.55.0",
"prettier": "^3.1.0",
"@typescript-eslint/eslint-plugin": "^6.13.0",
"@typescript-eslint/parser": "^6.13.0"
},
"engines": {
"node": ">=16.0.0",
"npm": ">=8.0.0"
},
"os": [
"linux",
"darwin",
"win32"
],
"cpu": [
"x64",
"arm64"
],
"files": [
"dist/",
"cli/",
"bindings/",
"scripts/postinstall.js",
"scripts/test-integration.js",
"README.md",
"LICENSE",
"CHANGELOG.md",
"pkg/cuda_rust_wasm_bg.wasm"
],
"publishConfig": {
"registry": "https://registry.npmjs.org/",
"access": "public",
"tag": "latest"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead",
"Chrome >= 80",
"Firefox >= 78",
"Safari >= 14",
"Edge >= 80"
],
"ava": {
"extensions": [
"js",
"ts"
],
"require": [
"ts-node/register"
]
}
}