anumit
asked on
Software and Hardware Parallelism
Hi
Can anyone explain me in detail the difference between the software and Hardware parallelism ,and how are they used .how can we implement them .Can i get some good sites to know more about parallelism and architecture of software and hardware.
Can anyone explain me in detail the difference between the software and Hardware parallelism ,and how are they used .how can we implement them .Can i get some good sites to know more about parallelism and architecture of software and hardware.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thaxs lombardp ,SysExpert for quick response .Is it possible to do both hardware and software parallelism parallely on a system .If yes then which program supports this mechanism.Can we do any experiment on hardware and software parallelism.Actually i was going through a site where it was mentioned software parellelism is fast and executable easily.
Please let me know some more information about these mechanisms.
Please let me know some more information about these mechanisms.
>> Is it possible to do both hardware and software parallelism parallely on a system
In general hardware parallelism can be actually used only if software has a certain grade of parallelism, so we could say that software parallelism must be used together with hardware parallelism.
If I understand your needs, you would like to do some experiments on parallelism, both hardware and software, with a normal system (one or more Personal Computer).
Many commercial software implement code parallel-optimized in order to take advantage of intrinsic hardware parallelism in modern CPUs. These software are mainly related to video and audio editing.
If you look for an " home made " experiment:
You can experiment hardware parallelism on a single PC using SSE instructions embedded in modern CPU: those instructions are intended for multimedia applications, to process audio and video. A quick experiment can be set up with the GCC compiler, that has specific options for implementing math with SSE parallel instuctions. You can write very simple program and try to compile them with and without the SSE switch.
Software parallelism can be better tested with a multithreaded application. A very simple application could be to have two long vectors of numbers, and calculate the mean value of each one. The first application should be mono-thread and calculate mean of first vector and then mean of second vector. The second application should be composed by two thread, the first calculates mean of first vector, the second calculates mean of second vector, in parallel.
If you look for a more sophisticated test, you should use a
In general hardware parallelism can be actually used only if software has a certain grade of parallelism, so we could say that software parallelism must be used together with hardware parallelism.
If I understand your needs, you would like to do some experiments on parallelism, both hardware and software, with a normal system (one or more Personal Computer).
Many commercial software implement code parallel-optimized in order to take advantage of intrinsic hardware parallelism in modern CPUs. These software are mainly related to video and audio editing.
If you look for an " home made " experiment:
You can experiment hardware parallelism on a single PC using SSE instructions embedded in modern CPU: those instructions are intended for multimedia applications, to process audio and video. A quick experiment can be set up with the GCC compiler, that has specific options for implementing math with SSE parallel instuctions. You can write very simple program and try to compile them with and without the SSE switch.
Software parallelism can be better tested with a multithreaded application. A very simple application could be to have two long vectors of numbers, and calculate the mean value of each one. The first application should be mono-thread and calculate mean of first vector and then mean of second vector. The second application should be composed by two thread, the first calculates mean of first vector, the second calculates mean of second vector, in parallel.
If you look for a more sophisticated test, you should use a
I entered answers to both the original question and the successive clarification.
I am still available to provide further clarifications to ANUMIT, if he needs.
I am still available to provide further clarifications to ANUMIT, if he needs.
SW Parralelism is also becoming more popular.
I hope this helps !