2.1. Mercurium FPGA Phase options¶
The following sections list and summarize the Mercurium options from the FPGA Phase.
2.1.1. fpga_memory_port_width¶
Defines the width (in bits) of memory ports (only for wrapper localmem data) for fpga accelerators. Usage example:
fpgacc --ompss --bitstream-generation src/dotproduct.c -o dotproduct \
--Wf,--board=zedboard --variable=fpga_memory_port_width:128
2.1.2. force_fpga_periodic_support¶
Force enabling the periodic tasks support in all FPGA accelerators. This feature is only enabled in the FPGA accelerators that require it (the target directive has the period or num_repetitions caluses). Usage example:
fpgacc --ompss --bitstream-generation src/dotproduct.c -o dotproduct \
--Wf,--board=zedboard --variable=force_fpga_periodic_support:1
2.1.3. fpga_unaligned_memory_port¶
[Available in release 2.3.0] Enables the logic to support unaligned memory regions handled by the shared memory port. This option only has effect when the fpga_memory_port_width option is also present. Usage example:
fpgacc --ompss --bitstream-generation src/dotproduct.c -o dotproduct \
--Wf,--board=zedboard --variable=fpga_memory_port_width:128 \
--variable=fpga_unaligned_memory_port:1
Warning
This option will increase the resources consumption of FPGA wrappers. However, it may be mandatory depending on application data partition.