https://github.com/chiang-yuan/culsm

CUDA C++ code implementing GPU-accelerated Lattice Spring Model (CuLSM) simulations.

https://github.com/chiang-yuan/culsm

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: frontiersin.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.8%) to scientific vocabulary

Keywords

cuda gpu parallel-computing particles
Last synced: 5 months ago · JSON representation

Repository

CUDA C++ code implementing GPU-accelerated Lattice Spring Model (CuLSM) simulations.

Basic Info
  • Host: GitHub
  • Owner: chiang-yuan
  • License: gpl-2.0
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 2.47 MB
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Topics
cuda gpu parallel-computing particles
Created about 4 years ago · Last pushed about 3 years ago
Metadata Files
Readme License

README.md

CuLSM

Cuda-accelerated lattice spring model (CuLSM) is the CUDA C++ code implementing GPU parallelization on particle and spring lists. The code is associated with the paper "ImageMech: From Image to Particle Spring Network for Mechanical Characterization" published in Frontiers in Materials.

If you happen to use this code in your work, please cite:

Chiang Y, Chiu T-W and Chang S-W (2022) ImageMech: From Image to Particle Spring Network for Mechanical Characterization. Front. Mater. 8:803875. doi: 10.3389/fmats.2021.803875

Instead of spatial decomposition as used in LAMMPS, CuLSM applies parallization to atom and bond lists and therefore secures remarkable speedup for large-scale lattice spring model simulations.

speedup

Prerequisites

  • GPU compute capabtility > 6.x for 64-bit floating point operation
  • CUDA Toolkit >= 10.1 recommended

Build

To buld culsm on your device, GPU architecture must be specified at the time of compilation. In build/Makefile, make sure the NVFLAGS fit your device.

shell NVFLAGS = -O3 -I$(CUDIR)/include -m64 -arch=compute_75 -code=sm_75 -Xptxas -v -rdc=true

The GPU architecture (e.g. Kepler, Turing, etc.) may be found here, and the cooresponding CUDA naming scheme can be found in Nvidia GPU Feature List.

To compile the code, enter build directory and simply execute make in the terminal.

shell cd build make

Usage

shell ./culsm < [input] > [output] &

Example command script

```

read lammps data file

read_data

set particle mass by type

mass

set spring type and coefficients

bond ...

displace certain type of particles every timestep

fix

save particle trajectory every N timesteps to file

dump

output thermodynamic observables every N timesteps

thermo

verlocity Verlet integration for N timesteps of dt seconds

run

```

Owner

  • Name: Yuan Chiang
  • Login: chiang-yuan
  • Kind: user
  • Location: Berkeley
  • Company: UC Berkeley

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • chiang-yuan (1)
Top Labels
Issue Labels
Pull Request Labels
enhancement (1)