Sign inSign up

neonexusx/massflow

By neonexusx

•Updated 9 months ago

massflow

Buildkit cache
Image
Integration & delivery
Machine learning & AI
0

970

neonexusx/massflow repository overview

⁠Introduction

This image is designed for the high-performance computing Massflow framework. It is built upon the official NVIDIA CUDA image and integrates the next-generation Python package management tool uv, as well as the R language environment.

⁠Included Toolset

⁠System Development and Compilation Tools
  • Compilation Chain: GCC, GFortran, pkg-config, libc6-dev.
  • Math and Science Libraries: BLAS, LAPACK, FFTW3 (Fast Fourier Transform).
  • Image and Database: LibTIFF, LibJPEG, LibPNG, LibXML2, LibCurl (OpenSSL).
  • Version Control: Git (pre-configured with Git LFS to support large file version control).
  • Remote Connection: OpenSSH Server (configured to allow Root login for convenient remote development).
  • Common Tools: vim, wget, curl, htop, less, bzip2, sudo.
⁠Programming Languages and Package Management
  1. Integrated uv (an extremely fast Python package manager and resolver), designed to replace the traditional pip/virtualenv workflow.

  2. R Language Environment:

  • Version: R 4.5.2+
  • Core Library: Integrated BiocManager and Cardinal
⁠Image Tag Naming Convention

The tags for this image are dynamically generated to intuitively display version information for key components.

Tag Format: ub<Ubuntu Version>_cuda<CUDA Major.Minor Version>_cardinal<Cardinal Major.Minor Version>

ComponentMeaningDescription
ub24Ubuntu 24.xBuilt on Ubuntu 24.04
cuda131CUDA 13.1CUDA compilation toolchain version
cardinal312Cardinal 312Major and minor version of the R Cardinal package
⁠Usage Instructions
  • Working Directory: Defaults to /home/Share_Space. The directory permissions are set to 777 to facilitate external volume mounting.
  • SSH Service: The image has the SSH service installed and the run directory /var/run/sshd created. You can connect for remote development via port mapping.
  • Version Check: There is a /version.txt file in the image root directory, which records the specific version snapshot at build time.
docker run -it \
  --gpus all \
  -v "${HOME}/Share_Space:/home/Share_Space" \
  -p 8001:22 \
  --rm \
  neonexusx/massflow:latest

After connecting via SSH, please restart the SSH service and change the password first:

service ssh restart && passwd 
⁠Software Test Code

Install Cupy and verify functionality:

https://github.com/NeoNexusX/Example/tree/main/Python/cupy⁠

Numba-CUDA test (Note: only supports CUDA 12 and above versions):

https://github.com/NeoNexusX/Example/blob/main/Python/numba-cuda/numba-cuda.py⁠

root@1340ea303917:/home/Share_Space/cupy_test# uv run main.py 
Using device: 0 - NVIDIA GeForce RTX 4060 Laptop GPU
device.compute_capability : 89
Total Memory (MiB): 7805.06 MiB
Hello from cupy-test!
Free Memory: 6541.12 MiB
Allocating array with 285786112 elements (approx 2180.38 MiB)...
assert x_huge.nbytes == target_bytes : True
Norm calculated: 16905.209611241145
Press Enter to free memory and exit...

⁠介绍

该镜像专为高性能计算的Massflow框架设计,基于 NVIDIA CUDA 官方镜像构建,集成了新一代 Python 包管理工具 uv 以及 R 语言环境。

⁠包含的工具集

⁠系统开发工具与编译工具
  • 编译链: GCC, GFortran, pkg-config, libc6-dev。
  • 数学与科学库: BLAS, LAPACK, FFTW3 (快速傅里叶变换)。
  • 图像与数据库: LibTIFF, LibJPEG, LibPNG, LibXML2, LibCurl (OpenSSL)。
  • 版本控制: Git (预装 Git LFS,支持大文件版本控制)。
  • 远程连接: OpenSSH Server (配置为允许 Root 登录,便于远程开发)。
  • 常用工具: vim, wget, curl, htop, less, bzip2, sudo.
⁠编程语言与包管理

1、内置 uv (极速 Python 包管理器和解析器),用于替代传统的 pip/virtualenv 工作流。

2、R 语言环境:

  • 版本: R 4.5.2+
  • 核心库: 集成 BiocManager 与Cardinal
⁠镜像 Tag 命名规则

该镜像的 Tag 是动态生成的,用于直观地展示关键组件的版本信息。

Tag 格式:ub<Ubuntu版本>_cuda<CUDA主次版本>_cardinal<Cardinal主次版本>

组成部分含义说明
ub24Ubuntu 24.x基于 Ubuntu 24.04 构建
cuda131CUDA 13.1CUDA 编译工具链版本
cardinal312Cardinal 3.12R 语言 Cardinal 包的大版本号和小版本号
⁠使用说明
  • 工作目录: 默认进入 /home/Share_Space,且该目录权限已设为 777,方便挂载外部卷。
  • SSH 服务: 镜像内已安装 SSH 服务并创建了运行目录 /var/run/sshd,可通过端口映射进行远程开发连接。
  • 版本检查: 镜像根目录下有一个 /version.txt 文件,记录了构建时的具体版本快照。
docker run -it \
  --gpus all \
  -v "${HOME}/Share_Space:/home/Share_Space" \
  -p 8001:22 \
  --rm \
  neonexusx/massflow:latest

使用ssh连接后请先重启ssh和修改密码:

service ssh restart && passwd 

软件测试代码:

安装cupy,并测试通过:

https://github.com/NeoNexusX/Example/tree/main/Python/cupy⁠

numba-cuda 测试,注意仅支持cuda12及以上版本

https://github.com/NeoNexusX/Example/blob/main/Python/numba-cuda/numba-cuda.py⁠

root@1340ea303917:/home/Share_Space/cupy_test# uv run main.py 
Using device: 0 - NVIDIA GeForce RTX 4060 Laptop GPU
device.compute_capability : 89
Total Memory (MiB): 7805.06 MiB
Hello from cupy-test!
Free Memory: 6541.12 MiB
Allocating array with 285786112 elements (approx 2180.38 MiB)...
assert x_huge.nbytes == target_bytes : True
Norm calculated: 16905.209611241145
Press Enter to free memory and exit...

Tag summary

Content type

Image

Digest

sha256:1f05cc0ff…

Size

4.3 GB

Last updated

9 months ago

docker pull neonexusx/massflow