README.txt 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. # StarPU --- Runtime system for heterogeneous multicore architectures.
  2. #
  3. # Copyright (C) 2019-2021 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
  4. #
  5. # StarPU is free software; you can redistribute it and/or modify
  6. # it under the terms of the GNU Lesser General Public License as published by
  7. # the Free Software Foundation; either version 2.1 of the License, or (at
  8. # your option) any later version.
  9. #
  10. # StarPU is distributed in the hope that it will be useful, but
  11. # WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. #
  14. # See the GNU Lesser General Public License in COPYING.LGPL for more details.
  15. #
  16. ######################
  17. ##### Examples ######
  18. ######################
  19. 4 examples are provided to show the use of the different SLiC interfaces:
  20. - max_fpga_basic_static.c lets SLiC initialize the maxeler stack itself. This
  21. is a very simple interface but does not allow for multiple fpga support.
  22. - max_fpga_advanced_static.c loads the maxeler design itself. This is a bit
  23. more complex to call, but allows for multiple fpga support.
  24. - max_fpga_dynamic.c achieves the same as max_fpga_advanced_static.c, but using
  25. the dynamic interface.
  26. - max_fpga_mux.c goes one step further by making input/output on the CPU or
  27. local memory at will.
  28. ######################
  29. ##### Maxeler ######
  30. ######################
  31. $ export XILINXD_LICENSE_FILE=2100@jumax
  32. $ module load vivado maxcompiler
  33. $ module load devtoolset/8
  34. The Makefiles then build the program automatically. They do the equivalent of
  35. the following, written here only for information:
  36. Building the JAVA program: (for kernel and Manager (.maxj))
  37. $ cd starpu/tests/
  38. $ maxjc -1.7 -cp $MAXCLASSPATH fpga
  39. Running the Java program to generate a DFE implementation (a .max file)
  40. that can be called from a StarPU/FPGA application and slic headers
  41. (.h) for simulation:
  42. $ java -XX:+UseSerialGC -Xmx2048m -cp $MAXCLASSPATH:. fpga.MyTasksManager DFEModel=MAIA maxFileName=MyTasks target=DFE_SIM
  43. $ cp MyTasks_MAX5C_DFE_SIM/results/*{.max,.h} fpga
  44. $ cd fpga
  45. Building the slic object file (simulation):
  46. $ sliccompile MyTasks.max
  47. Once built, to start the simulation:
  48. $ maxcompilersim -c LIMA -n $USER-MyTasks restart
  49. $ export LD_LIBRARY_PATH=$MAXELEROSDIR/lib:$LD_LIBRARY_PATH
  50. $ export SLIC_CONF="use_simulation=$USER-MyTasks"
  51. PS: To stop simulation
  52. $ maxcompilersim -c LIMA -n $USER-MyTasks stop
  53. #################################
  54. ##### StarPU with Maxeler ######
  55. #################################
  56. $ ./autogen.sh
  57. $ ../configure --prefix=$PWD/../install --with-fpga --disable-link-with-riffa --disable-fortran
  58. $ make
  59. By default they are built for simulation (target DFE_SIM). To build for native
  60. execution, use instead:
  61. make MAX_TARGET=DFE
  62. To test the code (.c):
  63. $ ./tests/fpga/max_fpga