regymm / fpga-mcmc

FPGA accelerated Path Integral Monte Carlo. Project for computational physics.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fpga-mcmc

FPGA accelerated Markov Chain Monte Carlo. Project for computational physics course.

  • mcPi: Monte Carlo calculation of Pi
  • PIHO: Path Integral Harmonic Oscillator simulation using Markov Chain Monte Carlo. 7x speedup over CPU.

My talk at LUG@USTC: Slides, Video.

Directories:

Verilog sources:

  • Design source ./verilog/src , especially piho_unit.v, mc_top.v.
  • Simulation source ./verilog/sim
  • Memory file ./verilog/coe
  • Vivado project tcl ./verilog/tcl, can be used to rebuild Vivado projects.

Vivado projects:

  • mcPi-on-chip-2019.1/mcPi-core is the computation part and packaged as IP core
  • mcPi-on-chip-2019.1/ip_repo is the simple IP for PS/PL communication
  • mcPi-on-chip-2019.1/project_1 is the whole mcPi project using mcPi-core and myaxi_passthrough
  • piho-on-chip-2019.1/piho-core is the computation part and packaged as IP core
  • piho-on-chip-2019.1/delaypass is a simple IP core to delay for a clock cycle
  • piho-on-chip-2019.1/piho is the whole PIHO project using piho-core, myaxi_passthrough and delaypass
  • Those IP cores are a little bit messed-up, you can find the location and name of these at the fifth line of the components.xmls

C/C++ sources:

  • ./C/mcPi.c
  • ./C/piho.cpp, compile with g++ -O3 -mavx
  • ./C/piho_old.cpp, and older version of piho, contains more function and is more memory-hungry, compile with g++ -O3 -mavx

About

FPGA accelerated Path Integral Monte Carlo. Project for computational physics.

License:GNU General Public License v3.0


Languages

Language:Tcl 68.2%Language:Verilog 22.2%Language:C++ 6.4%Language:SystemVerilog 1.9%Language:C 1.2%Language:Makefile 0.1%Language:Python 0.0%