GithubHelp home page GithubHelp logo

crinavar / trueke Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 141 KB

multi-GPU Exchange Monte Carlo for 3D random field Ising model

License: GNU General Public License v3.0

Makefile 1.78% Shell 0.47% Gnuplot 5.62% C 42.08% Cuda 50.05%

trueke's Introduction

trueke: multi-GPU Monte Carlo for the 3D RFIM

(1) Hardware requirements:

  • A CUDA capable GPU, we recommend Kepler+
  • 4GB of RAM
  • Multi-core X86_64 CPU

(2) Software requirements:

  • Linux OS
  • GCC.
  • Nvidia CUDA runtime library
  • Nvidia nvcc compiler
  • [optional] Nvidia nvlm (to query the device).
  • OpenMP 4.0 Implementation

(3) Check Makefile and CUDA instalation.

Make sure the bin, inc and lib paths to the corresponding ones.

(4) compilation (edit Makefile if necessary)

  • make clean
  • make

(5) how to run

./bin/trueke -l <L> <R> -t <T> <dT> -a <tri> <ins> <pts> <ms> -h <h> -s <pts> <mz> <eq> <ms> <meas> <per> -br <b> <r> -z <seed> -g <x>

(6) parameters

  • Lattice (-l): size <L>, <R> replicas.
  • Temperature (-t): high-temp <T>, delta <dT>.
  • Adaptive (-a): <tri> trials, <ins> inserts/trial, <pts> exchange steps, <ms> sweeps per exchange.
  • External Field (-h): magnetic field strength <h> (tipically, 0 < h < 3).
  • Simulation (-s): <pts> ex, meas at <mz>, equil <eq> sweeps, <ms> sweeps/ex, <per> ex/<meas>
  • Repetition (-br): <b> blocks of <ms>, <r> disorder realizations.
  • Seed (-z): use <seed> as base seed for the PRNGs.
  • Multi-GPU (-g): use <x> GPUs.

(4) Example execution using two GPUs

  • ./bin/trueke -l 64 11 -t 4.7 0.1 -a 58 2 2000 10 -h 1.0 -s 5000 3000 100 5 1 1 -br 1 2000 -z 7919 -g 2

trueke's People

Contributors

crinavar avatar

Stargazers

 avatar

Watchers

 avatar 孙玉鑫 avatar

trueke's Issues

questions about the kernels

I have some questions about your kernels.
1 Do you mind providing a CPU version (serial/openmp) of the metropolis kernel for reference and verification ?
2 When the maximum block size is 256 on a GPU, what are the values of BX, BY, and BZ ?

/* warning: changing the block dimensions can lead to undefined behavior. */
#define WARPSIZE 32
#define BX  32
#define BY  8
#define  BZ  4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.