4.2.1. Nanos6 FPGA Architecture configurationΒΆ
The Nanos6 behavior can be tuned with different configuration options. They are summarized and briefly described in the Nanos6 default configuration file, the FPGA architecture section is shown below:
[devices]
directory = true
[devices.fpga]
# Byte alignment of the fpga memory allocations
alignment = 16
# If xtasks supports async copies, it can be "async", if not, the runtime can use the default xtasks memcpy and
# simulate an asynchronous copy spawning a new thread with "forced async". Copies can also be synchronous with "sync".
mem_sync_type = "sync"
page_size = 0x8000
requested_fpga_memory = 0x200000000
# Maximum number of FPGA tasks running at the same time
streams = 16
[devices.fpga.polling]
# Indicate whether the FPGA services should constantly run while there are FPGA tasks
# running on their FPGA. Enabling this option may reduce the latency of processing FPGA
# tasks at the expenses of occupiying a CPU from the system. Default is true
pinned = true
# The time period in microseconds between FPGA service runs. During that time, the CPUs
# occupied by the services are available to execute ready tasks. Setting this option to 0
# makes the services to constantly run. Default is 1000
period_us = 1000