Thursday, February 14, 2019

Re: [Discuss-gnuradio] [UHD] Announcing 3.14.0.0 Release Candidate 1

Hey guys,

any idea or numbers on the performance improvement using DPDK, e.g. CPU
usage during rx/tx streaming, when compared to the legacy approach?
Would be great to get a feeling for the achievable gains.

Thanks
Andre


On 13/2/19 20:58, Nick Foster via USRP-users wrote:
> Any plans to update to the latest API? Won't compile with anything after
> 17.05.
>
> On Wed, Feb 13, 2019, 11:33 AM Michael West
> <michael.west@ettus.com
> <mailto:michael.west@ettus.com>> wrote:
>
> Hi Nick,
>
> Information on using DPDK can be found here: 
> http://files.ettus.com/manual/page_dpdk.html
>
> DPDK can be used with any example.  Think of it as an accelerator
> for Ethernet transports if using Intel NICs.
>
> Regards,
> Michael
>
> On Thu, Feb 7, 2019 at 10:29 AM Nick Foster
> <bistromath@gmail.com
> <mailto:bistromath@gmail.com>> wrote:
>
> Great news! DPDK support is an interesting development. Is there
> any documentation or examples which show this capability?
>
> Nick
>
>
> On Thu, Feb 7, 2019 at 10:05 AM Michael West via USRP-users
> <usrp-users@lists.ettus.com
> <mailto:usrp-users@lists.ettus.com>> wrote:
>
> The release candidate of UHD version 3.14.0.0 has been
> tagged and is available for testing.  This API release
> introduces support for the N320 and N321 USRPs soon to be
> released (watch for the announcement on ettus.com
> <http://ettus.com>!), a DPDK-based transport, and several
> other features and bug fixes.  This release includes all bug
> fixes and enhancements in the 3.13.0.1, 3.13.0.2, and
> 3.13.1.0 maintenance releases.
>
> The tag for this release candidate:
> https://github.com/EttusResearch/uhd/releases/tag/v3.14.0.0-rc1
>
> There have been 406 commits since the last API release
> (3.13.0.0)which can be viewed here:
> https://github.com/EttusResearch/uhd/compare/v3.13.0.0...v3.14.0.0-rc1
>
> Please report any bugs found on the UHD issue tracker:
> http://github.com/EttusResearch/uhd/issues
> * Please do not use the issue tracker for help or support.
>
> Pull requests for direct code changes may be submitted to
> the UHD or FPGA repositories:
> http://github.com/EttusResearch/uhd/pulls
> http://github.com/EttusResearch/fpga/pulls
>
> CHANGELOG:
> ## 003.014.000.000
> * N320: Add N320 and N321
> * Test: Add Python API test
> * Device3: Move from packet-based to byte-based flow control
> * X300: Reduce default send_frame_size to 4000 over Ethernet
> * UHD: Release recv buffers earlier in rx_streamer
> * Device3: Constrain send_buff_size to input fifo size
> * X300: Change Ethernet buffering
> * MPMD: Parallelize broadcast-finding
> * Device: Parallelize device discovery
> * Docs: Fix Doxygen warnings
> * B100: Move fifo_ctrl_excelsior to b100 subdir
> * B100: Fix fifo_ctrl_excelsior not exiting
> * B100: Remove all Boostisms from fifo_ctrl_excelsior
> * B100: Demote some clocking-related log messages to trace
> * X300: Log git hash and compat number as debug message
> * N310: Modify AD9371 reset function to keep it in reset
> * N3xx: clocking API changes for transitioning clock and
> time sources
> * E320: bist: Fix ref_clock lock test implementation
> * UHD: Fix ADF400x driver for ref counter and charge pump mode
> * E320: bist: Add link_up test
> * MPM: Get list of temperatures from all thermal zones
> * E320: Add all 5 temp sensors, fan sensor and rssi sensors
> per channel
> * E320: Fix tx/rx atr - antenna and frequency settings
> * E320: Enable devtest for E320
> * X300: Move defaults to their own header
> * UHD: Improve constrained_device_args_t
> * X300: Use constrained_args
> * X300: Enable clock_source and time_source device args
> * Test: Integrate Python API Tester into Devtest
> * N3xx: Bump max rev to G/6
> * N3xx: Improve error messages for invalid clock/time settings
> * E320: images: Separate images package for Aurora image
> * B200: Remove superfluous fake lambda
> * B200: Add support for user regs
> * Docs: Add info on how to implement user regs on B200
> * UHD API: Add multi_usrp::get_user_settings_iface()
> * N310: move init_rf_cal before JESD de/framer bringup
> * UHD: Remove usage of time_t (except when required)
> * NIRIO: Demote RPC client cancel/abort to TRACE
> * RFNoC: Convert SR_READBACK_REG_FIFOSIZE to bytes
> * Utils: Add Zip test to downloader
> * Utils: Factor wait_for_lo_lock() out of cal utils
> * DPDK: Add DPDK-based sockets-like library
> * MPMD: add option to enum rfnoc blocks from args
> * E320: Get RFNoC crossbar baseport from FPGA
> * N3xx: Get RFNoC crossbar baseport from FPGA
> * UHD: add default xport params to udp_zero_copy
> * MPM: add link_speed xport_info
> * MPMD: add link speed to xport udp
> * Device3: remove tx_hint[send_buff_size]
> * X300: remove default_buff_args properties
> * RFNoC: Add ability to enable/disable RX timestamp
> * RFNoC: add async message handler
> * Examples: add rfnoc_radio_loopback example
> * UHD: Update rx_frontend_gen3.v controls for 1/4-rate mixer
> * UHD API: Move definition of ALL_MBOARDS and ALL_CHANS
> constants to
>            CPP file.
> * MPM: Add __mpm_device__ as usrp_hwd module variable
> * MPM: Add usrp_update_fs
> * UHD: Add traffic counter to null source sink
> * Examples: Add benchmark_streamer example
> * Tools: Add tool to analyze settling time of gain and freq
> changes
> * UHD API: Add multi_usrp::set_sync_source() API
> * UHD: Improve documentation for the UHD exception types
> * Examples: Add dual measurements to benchmark_streamer
> * MPM: Add i2c APIs for simple transfers
> * MPM: Add vector-based transfer function for i2c
> * UHD: Improve documentation for set_{time,clock,sync}_source
> * CMake: Bump CMake minimum version to 2.8.12
> * MPM: Add variable configuration support to nijesdcore
> * MPM: Add eyescan utility to nijesdcore
> * MPM: Add PRBS-31 testing to nijesdcore
> * CMake: Change SOVERSION and VERSION for the library files
> * Test: Add graph impl test to device3_test
> * RFNoC: Changes to traffic counter register names
> * X300: Remove 120 MHz master_clock_rate option
> * MPM: Add convenience function to pull i2c bus from device tree
> * UHD: add .clang-format file
> * MPM: Open and close i2c file descriptor on every access
> * UHD: Add device arg to enable dual ethernet for tx
> * Test: Retrofit sph test to use new mock transport
> * X300: Set minimum master clock rate to 184.32 MHz
> * RFNoC: Fix replay example port args
> * RFNoC: Fix default SPP for replay
> * RFNoC: Add halt to replay API
> * UHD API: Add sync source to Python API
> * Examples: Clean up rfnoc_radio_loopback example
> * UHD: Improve compatibility of abs() calls
> * UHD: include <stdint.h> for int64_t for time_spec
> * USRP-2974: Add support for USRP-2974
> * UHD API: Add support for Tx LO control to C API
> * E310: Fix initialization of antenna and frequency values
> * Test: Enable rx_samples_to_file in devtest for X300
> * Examples: Add keyboard controls to rx_ascii_art_dft
> * Examples: Add benchmark_streamer support for multi-channel
> streamer
> * MPM: Multiprocessing instead of threading for claimer loop
> * MPM: Factor out user EEPROM code into own module
> * RFNoC: Fix late packet errors
> * X300: Factor our PID -> MB type and MB type -> product
> name mapping
> * X300: Remove usage of boost::bind
> * Docs: Add manual page on compat numbers
> * UHD: Updates to coding guidelines
> * Examples: Optimize benchmark_rate start time
> * Examples: Improve formatting and comments in tx_waveforms
> * Examples: Optimize tx_waveforms memory allocations
> * UHD: Fix MSVC warnings by changing a size_t to unsigned int or
>        uint32_t
> * Test: Fix CMake `endif` warning for devtest
> * MPM: Add gpgga sensor function to GPSd iface
> * Test: Fix compiler warning about unused timestamp
> * X300: Fix compiler warnings related to type conversions
> * B200: Fix compiler warnings related to type conversions
> * Test: Add #include <thread> in system time test
> * Examples: change boost to std for time commands
> * UHD: Add potentially missing but sometimes inferred
> include for
>        experts
> * UHD: Add default xport params to udp_wsa_zero_copy
> * Examples: Add LO Offset to rx_samples_to_file
> * Examples: update lo-offset naming in tx from file
> * Examples: Add lo-offset to tx_waveforms
> * UHD: Move device3 flow control functions to header for
> benchmark
>        utility
> * Test: Add benchmark of streaming code paths
> * MPMD: Add API to set RPC timeout atomically
> * MPMD: Move timeout constants to header
> * MPMD: Use new RPC API with timeout
> * MPMD: Increase claim_rpc call timeout
> * Examples: Improved error message in tx_waveforms
> * UHD: Make sure BOOST_VERSION is always available
> * Docs: Add comments for TwinRX and MCR
> * DPDK: Add ARP responder, set MTU, and clean up API
> * DPDK: Add blocking recv calls to uhd-dpdk
> * DPDK: Add dpdk_zero_copy transport
> * Test: Add unit test for DPDK transport
> * Test: Add arguments to dpdk_test to control core mapping
> * DPDK: Move uhd-dpdk header to uhdlib
> * UHD: Make clang-format skip formatting for some data
> structures
> * UHD: Remove vim hints in headers
> * Examples: Move ascii_art_dft main function within include
> guard
> * UHD/MPM: Apply clang-format to all files
> * UHD: Add modified clang-format for headers
> * MPM: Add bridge mode support
> * RFNoC: Fix detection of outstanding acks by ctrl_iface
> * UHD: Replace uhd::math::log2 with std::log2
> * UHD: Replace boost::*::{lcm,gcd}() with portable versions
> * UHD API: Change get_{tx/rx}_dc_offset_range default from
> ALL_CHANS
>            to 0
> * UHD: Revert to boost instead of std for sleep in some
> instances
> * UHD: Replace Boost macros with custom ones for endianness
> * MPMD: implement get_*x_hints
> * MPMD: honor user supplied send/recv_frame_size args
> * UHD: muxed_zero_copy_if fixes
> * Examples: Fix boundary condition in ascii_art_dft plotting
> * CMake: Extend list of additional Boost versions
> * Device3: Replace NULL with 0 for empty function pointers
> * RFNoC: Add some missing virtual destructors
> * Test: replace has_key by using 'in'
> * Test: Add universal_newlines to subprocess call in devtest
> * MPMD: Use 4096 bytes for frame size for liberio transport
> * DPDK: Add xport_mgr for dpdk_zero_copy
> * DPDK: Cover all paths to request TX offloads
> * Test: Fix up dpdk_test to use current APIs
> * MPM: Parameterize max UDP link allocation
> * UHD: Replace Boost lock & mutex with std variety for
> AD9361 code
> * CPack: Fix RPM generation
> * Utils: Add check for gdb_eeprom before accessing
> * RFNoC: Update FIFO XML definition
> * MPMD: Use init timeout for update_component
> * Docs: Add manual page for DPDK
> * Docs: Add information about what dpdk_zero_copy is doing
> * Tools: Make the UHD source gen a plugin for the phase
> alignment test
> * CMake: fix variable usage
> * RFNoC: Prevent unnecessary FC ACK packets
> * RFNoC: More graph traversal fixes
> * Device3: Remove redundant function call
> * RFNoC: Fix scaling of M and N values in DDC/DUC
> * X300: Fix tick and sample rate setting
> * RFNoC: Fix typos in legacy_compat
> * RFNoC: Limit number of control packets in flight
> * Device3: Fix flow control window and interval
> * E3xx: Increase spp limit for E3xx radio
> * E31x: Destruct RFNoC before loading idle image
> * N3xx: init peripherals before loading FPGA (to fix SFP0
> init issues)
> * N3xx: Move Linux kernel to 4.15
> * N3xx/E320: Prepend SDK filename with device name
> * N310: Fix sporadic power on failures (requires firmware
> update)
>
> ## 003.013.001.000
> * E320: Fix front panel GPIO readback
> * E320: Fix master_clock_rate setting
> * E320: Print extra ouptut for ref_clock BIST
> * E320: Fix gps_locked type
> * E320: Fix return value of get_fpga_type()
> * N3xx: Enable setting clock and time sources at runtime
> * N3xx: Add ref_clock BIST
> * N3xx: Improve set_time_source() and set_clock_source()
> * N3xx: Add exception for init failure
> * N3xx: Remove HA, XA images packages
> * N3xx: Change init() procedure to reduce configuration time
> * N310: Add frequency bounds
> * N310: Fix RX antenna mapping
> * N310: Add log messages when re-initializing dboards
> * N310: Add skip_rfic argument to reduce time of BIST
> * N310: Add initialization of TX bandwidth
> * E310: Fix initialization of antenna and frequency values
> * E310: Type-cast fix for Boost
> * X300: Improve firmware compat error message
> * X300: Updated niusrprio driver
> * X300: Add recovery for duplicate IP addresses in EEPROM
> * X300: Prevent duplicate MAC and IP addresses from being
> programmed
> * X300: New mode to configure master clock rate
> * X300: Implement RFNoC get antenna functions
> * B2xx: Fix values of MASK_GPIO_SHDN_SW and GPIO_AUX_PWR_ON
> in firmware
> * B2xx: Revert changes to DSP core to fix scaling factor
> adjustment
> * B2xx: Restore asynchronous reset of AD936x
>         (fixes LIBUSB_TRANSFER_OVERFLOW and unexpected sid
> errors)
> * TwinRX: enable ch1 lo amps if ch2 is using an external lo
> source
> * TwinRX: Correctly initialize antenna mapping on X300
> * TwinRX: Revise ADF5356 frac2 register calculation to
> prevent drifting spurs
> * TwinRX: Fix initialization
> * TwinRX: Tuning improvements
> * TwinRX: Enable phase resync on ADF535x
> * TwinRX: Make routing to LO1 and LO2 mutually exclusive
> * BasicRX/LFRX: Fix real mode in rx_frontend_core_3000
> * UHD: Define UHD_API as empty string when building static lib
> * UHD: Changed to 'all_matching' endpoint resolution for
> udp_simple transport
> * UHD: Add CMake flag for NEON SIMD
> * UHD: Fix usb_dummy_impl compilation in MSVC
> * UHD: Reconcile time_spec operators with boost concepts
> * UHD: Fix rounding in ddc/duc rate calculation
> * UHD: Increase MPMD RPC timeout when calling set_time_source()
> * UHD: Fix RX streamer SOB and EOB handling
> * UHD: Add UHD_SAFE_CALL to block_ctrl_base destructor
> * UHD: Change SOVERSION to ABI string and VERSION to full
> UHD version
> * UHD: Update cmake style to use lower case commands
> * UHD: Add SOURCE_DATE_EPOCH
> * UHD: Improve logic for UHD_IMAGES_DIR
> * UHD: Add RUNTIME_PYTHON_EXECUTABLE
> * UHD: Fix return value of get_rolloff() for filters
> * UHD: Properly register devtest
> * UHD: Fix log statement for Port number on RFNoC block
> * UHD: Use "MATCHES" instead of "STREQUAL" for "Clang"
> * UHD: Fix GPGGA string formatting for gpsd
> * Device3: Set default block control response SIDs
> * Device3: Fix block control flushing
> * RFNoC: Improved flushing mechanism in noc_shell and dma_fifo
> * RFNoC: Install missing dma_fifo_block_ctrl header
> * RFNoC: Replace some [] with .at() in radio_ctrl_impl
> * RFNoC: Fix graph traversal
> * MPM: Add Git hash, version to device info
> * MPM: Reset the RPC server upon reload
> * MPM: TDC: Update PDAC BIST and flatness test to use latest
> APIs
> * MPM: Fix handling of 0-valued dt-compat
> * MPM: Fix GPSD sensor names for N3xx and E320
> * MPM: Add args to update_ref_clock_freq to properly support
> dynamic setting
> *      of clock and time references
> * MPM: Fix Pylint warnings
> * MPM: Identify sysfs gpios more generically
> * MPM: Add lock_guard() function
> * MPM: Factor E320 and N3xx BIST code into common module
> * MPM: Add gpsd error handling
> * MPM: Add FPGA git hash to device info
> * MPMD: Increase RPC timeout during readng mb sensor
> * MPMD: Improve error message for compat number mismatches
> * Python API: Enable Python API on Windows
> * Python API: Change .dll to .pyd for Win32
> * Python API: Fixing Boost.Python initializer visibility
> * Python API: Fix duration of benchmark rate
> * Python API: Add missing constructors of time_spec_t
> * Python API: Expose streamer timeouts
> * Python API: Tighten the scope of releasing the GIL
> * Python API: Add device_addr_t
> * Python API: Populate the tune_result_t binding
> * Utils: Many fixes and enhancements for uhd_images_downloader
> * Utils: Update query_gpsdo_sensors to work on E310
> * Examples: Removed some legacy code patterns from RFNoC
> examples
> * Examples: Fix channel argument for rx_samples_to_file
> * Examples: Fix benchmark_rate MIMO synchronization
> * Examples: Add phase alignment example
> * Examples: Fix RX antenna not being applied in
> txrx_loopback_to_file
> * Test: Add more env vars, make Py3k compatible
> * Test: Add multi_usrp_test.py to devtest
> * Test: Clean up, refactor, and improve devtest
> * Test: Enable rx_samples_to_file in E320 devtest and N3xx
> devtest
> * Test: Reduce sample rate for E320 1G devtest
> * Test: Add unit test for eeprom_utils
> * Docs: Add clock_source and time_source to n3xx argument
> list and fix WR clock_source call
> * Docs: Minor tweaks to the Python API manual page
> * Docs: Add E320 test procedures
> * Docs: Added TwinRX page
> * Docs: Fix N210 MIMO Phase Alignment test command
> * Docs: Add E320 information
> * Docs: Improve sections on clock/time references
> * Docs: Add section on X300 motherboard clocking
> * Docs: Add more information on Salt for N3xx and E320
> * Docs: Adjust E310 functional verification tests
> * Docs: Add documentation on GIL release
> * Debian: Update control files
> * Images: Add N3xx CPLD file to manifest
>
> ## 003.013.000.002
> * N3xx: Fix issue where changing the clock/time source could
> result in
>         clocks becoming unlocked
> * N3xx: Improve error messages for invalid clock/time settings
> * N3xx: Add support for Rev G mboard
> * MPM: Add function parameter to support holding AD9371 in reset
> * Docs: Add section on building fs/SD images for N3xx
> * Docs: Fix Doxygen warnings
>
> ## 003.013.000.001
> * N3xx: Fix UIO usage in Aurora BIST
> * N3xx: Fix EEPROM parsing (for upcoming hardware)
> * UHD: Fix install path for Python API
>
> As always, we at Ettus Research would like to thank all of
> the UHD users in the open source SDR community.  This
> release contains commits from users in the community that
> submitted pull requests against the UHD
> <https://github.com/EttusResearch/uhd> and FPGA
> <https://github.com/EttusResearch/fpga> repositories as well
> as many commits that are a direct result of issues reported
> back to us by users like you through the UHD
> <https://github.com/EttusResearch/uhd/issues> and FPGA
> <https://github.com/EttusResearch/fpga/issues> issue
> trackers, the USRP-users mailing list
> <http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com>,
> and Ettus support
> <mailto:support@ettus.com>. 
> You have all helped contribute to the continued improvement
> of UHD.  Thank you!
>
> Best regards,
> Michael
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> <mailto:USRP-users@lists.ettus.com>
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

No comments:

Post a Comment