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)