05-29-2008 03:08 PM
06-04-2008 02:40 PM
Hi Pacsoft,
Once I get some more information, I will go from there to provide you an answer as to what you’re experiencing. Thanks for your patience.
06-04-2008 03:31 PM
Hi, Mark,
I have not tried with a simulated device. I will try that right away. Regarding DAQmx function calls, those that have access to the CDAQ chassis take a long time to return, about 60 sec. I mean all of them, like DAQmxWriteAnalogScalarF64(), DAQmxWriteAnalogF64(), DAQmxReadAnalogF64(). As I told you, as soon as I enable Hyperthreading, the application works perfect.
We also wrote another application that uses PXI, and we observed that the application crashes (while issuing DAQmx function calls) when Hyperthreading is disabled and runs perfect if it is enabled. From this I think is very clear that Hyperthreading is something that the DAQmx driver is taking for granted.
Regards
06-05-2008 01:47 PM
Hi Pacsoft,
All right, here’s the latest. I tested one of our shipping examples on a machine that has hyperthreading and it seems that the behavior is reproducible on our end when I disable hyperthreading.
The puzzling part is that DAQmx worked in the past on non-hyperthreaded machines. My best theory is that on a machine with hyperthreading capabilities, something in the configuration may still linger around that makes programs attempt to use hyperthreading and run into an issue because it’s turned off. I don’t know, but I’ve informed R&D and we’re going to gather information from the developers on this to see what we can come up with.
I’ll let you know (hopefully within a few days) the outcome. If you run across any new information that you feel is pertinent to us, feel free to post.
Thanks.
06-09-2008 04:25 PM
Hi,
So does that mean R&D will release a new driver with this bug fixed ? That would be great, because we got several CDAQ chassis to make portable applications but it turns out that the laptops we are using are not capable of multithreading.
Regards
06-10-2008 02:27 PM
06-10-2008 03:28 PM
Hi,
We have already tried the same application on different deployment computers and the same behavior is seen. As I wrote in the first post, when you make function calls from the main thread, everything works fine. The problem is when you make a function call from a secondary thread.
We have another completely different application that uses PXI, PXI Boards, TestStand and DAQmx. It is also multithreaded. That one crashes when Hyperthreading is disabled.
Regards
06-10-2008 03:31 PM
06-11-2008 03:16 PM
07-08-2008 02:13 PM
Hi,
Are you saying that UI callbacks are handled in a secondary thread ? I did not know that. I was assumign that the CVI Run Time was some sort of wrapper hidding the message pump of an application written using plain Win32. And also I though that UI callbacks were executed in the primary thread because if you perform a long task within a UI callback, the whole application freezes until the function returns. In Win32, function calls are always executed in the context of the primary thread, except you explicitly code it differently. What I was trying to explain is that if we made a DAQmx function call from a UI callback, the function returns quickly, just as expected.
I have new data. We tried using a simulated device and the problem is still there. I takes a long time for a DAQmx function call to return. The CPU in which we have seen the problem is Pentium M running at 1.4 Ghz with 768 MB of RAM.
Regards