4.1.1. Nanos++ FPGA Architecture optionsΒΆ
The Nanos++ behavior can be tuned with different environment options. They are summarized and briefly described in the Nanos++ help, the FPGA architecture section is shown below:
FPGA spefific options
NX_ARGS options
--fpga-alloc-align [=]<integer + suffix>
FPGA allocation alignment (def: 16)
--fpga-alloc-pool-size [=]<integer + suffix>
FPGA device memory pool size (def: 512MB)
--fpga-create-callback --no-fpga-create-callback
Register the task creation callback during the plugin initialization (def: false - automatically enabled when needed)
--fpga-create-callback-disable --no-fpga-create-callback-disable
Disable the registration of the task creation callback to handle task creation from the FPGA (def: false)
--fpga-disable --no-fpga-disable
Disable the support for FPGA accelerators and allocator
--fpga-enable --no-fpga-enable
Enable the support for FPGA accelerators and allocator
--fpga-finish-task-burst [=]<integer>
Max number of tasks to be finalized in a burst when limit is reached (def: 8)
--fpga-helper-threads [=]<integer>
Defines de number of helper threads managing fpga accelerators (def: 1)
--fpga-hybrid-worker --no-fpga-hybrid-worker
Allow FPGA helper thread to run smp tasks (def: enabled)
--fpga-idle-callback --no-fpga-idle-callback
Perform fpga operations using the IDLE event callback of Event Dispatcher (def: enabled)
--fpga-instrumentation-buffer-size [=]<integer + suffix>
Maximum number of events to be saved from a FPGA task (def: 170)
--fpga-instrumentation-callback --no-fpga-instrumentation-callback
Handle the FPGA instrumentation using the IDLE event callback of Event Dispatcher (def: enabled)
--fpga-max-pending-tasks [=]<integer>
Number of tasks allowed to be pending finalization for an fpga accelerator (def: 4)
--fpga-max-threads-callback [=]<integer>
Max. number of threads concurrently working in the FPGA IDLE callback (def: 1)
--fpga-num [=]<integer>
Defines de number of FPGA acceleratos to use (def: #accels from libxtasks)
Environment variables
NX_FPGA_ALLOC_ALIGN = <integer + suffix>
FPGA allocation alignment (def: 16)
NX_FPGA_ALLOC_POOL_SIZE = <integer + suffix>
FPGA device memory pool size (def: 512MB)
NX_FPGA_DISABLE = yes/no
Disable the support for FPGA accelerators and allocator
NX_FPGA_ENABLE = yes/no
Enable the support for FPGA accelerators and allocator
NX_FPGA_FINISH_TASK_BURST = <integer>
Max number of tasks to be finalized in a burst when limit is reached (def: 8)
NX_FPGA_HELPER_THREADS = <integer>
Defines de number of helper threads managing fpga accelerators (def: 1)
NX_FPGA_HYBRID_WORKER = yes/no
Allow FPGA helper thread to run smp tasks (def: enabled)
NX_FPGA_INSTRUMENTATION_BUFFER_SIZE = <integer + suffix>
Maximum number of events to be saved from a FPGA task (def: 170)
NX_FPGA_MAX_PENDING_TASKS = <integer>
Number of tasks allowed to be pending finalization for an fpga accelerator (def: 4)
NX_FPGA_MAX_THREADS_CALLBACK = <integer>
Max. number of threads concurrently working in the FPGA IDLE callback (def: 1)
NX_FPGA_NUM = <integer>
Defines de number of FPGA acceleratos to use (def: #accels from libxtasks)