Hi Jack,
I have a few threading answers, but nothing very specific on multiprocessors.
The NI-DAQ driver (basically nidaq32.dll) is thread safe. You can read more about it here:
NI-DAQ and ThreadingI know customers have used multiprocessor systems with NI-DAQ and it works fine. The trick as far as I know is just to provide the threads and Windows will handle the assignment to processors. I think you can't even make your own assignment of threads to processors.
For our activex controls, we provide no locks around the methods since it would hinder performance on most systems. As of Measurement Studio 6.0, you can access the controls
from multiple threads. Therefore you'll need to add some synchronization of your own around the methods you use.
The data acquisition controls do eventually call the ni-daq dll (which is threadsafe), but everything between your program and the call to the dll will not be exclusive.
I hope this helps. Maybe someone else with more multiprocessor experience will write in to give you hints. If you have any questions about what I said, just comment back and I'll see it.
Thanks,
John N
Applications Engineer
National Instruments