Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI
3 ratings:
 5 out of 5     Rate this Document

AMD Multi-Core/CPU Systems Can Cause Unexpected Behavior in NI Driver Software

Primary Software: Driver Software>>NI-DAQmx
Primary Software Version: 8.5
Primary Software Fixed Version: 8.6
Secondary Software: LabVIEW Modules>>Real-Time Module

Problem:
Most multi-core and multi-processor AMD systems can cause unexpected behavior in NI driver software.  This issue occurs when there is significant drift between the timestamp counters (TSCs) on the multiple cores.  Many operating systems and applications (such as NI-DAQmx 8.5 or earlier) rely on the TSCs being synchronized.   This TSC drift is often caused by power management features that cannot be disabled in the BIOS.  Specifically, this issue impacts AMD processors with an integrated memory controller (Family 0Fh).

AMD has a description of the issue here: AMD Technical Bulletin – TSC Dual-Core Issue & Utility Fix
The PDF is also attached below.

Note:  The issue has also been known to cause unpredictable timestamps on shared variables, LabVIEW DSC alarms and events, and data logged to the Citadel database.  It has even been known to crash the shared variable engine when using LabVIEW DSC to log to the Citadel database.



Solution:
Many operating systems require software updates to ensure proper operation with impacted systems.  The updated AMD Processor driver (also attached below) is required to ensure proper operation on Microsoft Windows operating systems.

Furthermore, there is an incompatibility between NI-DAQmx 8.5 (and earlier) and these impacted systems.  To safely operate NI-DAQmx 8.5 or earlier on impacted systems, they must be operated in single core/processor mode.

Using NI drivers on impacted systems:

Windows:
LabVIEW Real-Time:
  • Use the single core/processor workaround below (no patch is currently available)
Other Platforms:
  • Use a single core/processor configuration
NI-DAQmx:
  • Either apply the operating system patch AND upgrade NI-DAQmx to version 8.6
  • or use the single core/processor workaround below
NI PXIe-8130:
  • We have verified that this issue does not affect the PXIe-8130
Single core/processor workaround:
Disable the multi-core/multi-processor setup. 

Windows XP/2000/NT: Add the /ONECPU flag to the boot.ini file, and restart Windows.
    For more information about editing boot.ini in Windows XP, refer to Microsoft KB 289022.
    For more information about editing boot.ini in Windows 2000, refer to Microsoft KB 311578.
    For more information about the /ONECPU flag, refer to Microsoft KB Q170756.

Windows Vista: Use BCDEdit to set the onecpu flag.
    For more information about using BCDEdit in Windows Vista, refer to this MSDN article.

Linux: Add the nosmp flag to your boot loader.

Related Links:
AMD Processor Driver Patch for Windows
TSC and Power Management Events on AMD Processors
AMD TSC Drift Solutions in Red Hat Enterprise Linux®
KnowledgeBase 4HGE270W: Why are My Time Stamps on Shared Variables, LabVIEW DSC Alarms and Events and/or Data Logged to the Citadel Database Incorrect and Unpredictable?

Attachments:
AMD Processor Driver for Windows (EXE)
AMD TSC Description (PDF)




Report Date: 07/16/2007
Last Updated: 01/24/2008
Document ID: 4BFBEIQA

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit