Hi all, This is the second question. What I want to do is starting two threads using openmp. The first thread grabs image from a camera and the second thread obtains information (images) from the first thread with a constant temporal interval. For example, thread 1 grabs images continuously and thread 2 displays a frame of image in the first thread every 10 frames. For this task, it seems there should be some parameters which can be shared within threads. Currently, I am using a omp section directive, in which the image is shared between two threads.
have you ever wanted to know, what parallel programming systems / languages the rest of the world is using? Or what platforms parallel applications are developed for? Or what organizations are performance hungry enough to take on the burdon of developing parallel applications?
Me too. And that is why I have set up a short survey on parallel programming as part of my research for my PhD. It is set up here:
I think I know the answer already but I wanted to be sure. I believe that if you have two threads T1-T2that are bound toalogical processor LP1, they can atomically modifyper-processor data that is owned by LP1by using a cmpxchg without a lock-prefix. Now, here ismy question:
Given the following senerio:
Logicalprocessor LP1 isownedby core PC1 on physical processor P1
Logicalprocessor LP2 isownedby core PC1 on physical processor P1
Per-processor data D is owned by PC1
Thread T1 is bound to LP1
Thread T2 is bound to LP2
I'm having a tough time getting decent speedup with OpenMP on dual Xeon machine (HP xw8000). I use Intel's C++ compiler (8.1) with their OpenMP libraries. My test program finds the mean of a given array of integers.I have a function that takes a pointer and a count as parameters and returns the sum (which I later divide by n). To parallelize it, I use the following code:Code:
On a single core system with HyperThreading the KMP_BLOCKTIME (unexpired) would be doing something like a SpinLock which could functionaly called a SpinGo. To accomplish thisthe stalled threadmust be looking at a shared memory variable and inorder to force cache coherency with the other processors (the other HT thread in this case) an instruction is issued (LOCK?) that forces all processors to invalidate there cache so as all can see the potential change in the value of the variable used for the "SpinGo".
If I purchase VTune and Thread Tools now, will they support Visual Studio 2005 once released or is there any new releases upgrades planned so it would be smarter to delay the purchase?
Moved this hardware question to more appropriate forum.
This is my question.
I have to build a Java based database middleware, it holds database connection, the no of middleware worker threads are equal to the no of database connections ( This is because, the no of concurrent database operation we can do on database is limited to the database connections). Any request coming in the system are queued and supplied to the worker theread if they are available.
In a scenario like this how can i take advantage of hyper thereading.
I've downloaded and installed the evaluation version of the Intel C++ Compiler 9.0.
I haven't read all the documentations, but I wonder if it's possible to create a Thread and telling it to run on a special Core or CPU?