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, especiallypiho_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-coreis the computation part and packaged as IP coremcPi-on-chip-2019.1/ip_repois the simple IP for PS/PL communicationmcPi-on-chip-2019.1/project_1is the whole mcPi project using mcPi-core and myaxi_passthroughpiho-on-chip-2019.1/piho-coreis the computation part and packaged as IP corepiho-on-chip-2019.1/delaypassis a simple IP core to delay for a clock cyclepiho-on-chip-2019.1/pihois 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 withg++ -O3 -mavx./C/piho_old.cpp, and older version of piho, contains more function and is more memory-hungry, compile withg++ -O3 -mavx