Software Archive
Read-only legacy content
17061 Discussions

CPU and GPU architecture

Samar_V_
Beginner
465 Views

The same computations are done both on CPU and GPU, and their computational time are measured on both processors.
Does the difference between these computational time provide useful information for us to improve both CPU and GPU architecture? or design a new architecture in both cases?
If so, how can we use this information to achieve that?
Could you please introduce me some references related to the issue.

Thank you in advance.
Look forward to hearing from you.

0 Kudos
4 Replies
SergeyKostrov
Valued Contributor II
465 Views
>>... >>Does the difference between these computational time provide useful information for us to improve both CPU and >>GPU architecture? Yes. It is a very important information since it proves an overall concept of the design. That is, is it right or wrong? >>or design a new architecture in both cases? It depends on rules, policies, etc, a company follows. >>If so, how can we use this information to achieve that? I think the following could be considered. Let say there is a Software System ( SS ). It has two subsystems ( CPU-bound ( CBS ) and GPU-bound (GBS ) ). Every subsystem could have many different components, like C1, C2, C3, etc. Then, all relations are as follows: 1-to-2 : SS -> [ CBS | GBS ] 1-to-Many: CBS -> [ C1.1, C1.2, C1.3, etc, and C3, C4, C5 ] 1-to-Many: GBS -> [ C2.1, C2.2, C2.3, etc, and C3, C4, C5 ] Components C3, C4, C5 represent a Many-to-Many relations, since they exist in both sysbsystems. where, C3, C4, C5 are common or shared components, like logging. In order to make a final decision you need to evaluate ALL components, or "actors", because the overall design of some sysbsystem, for example CBS, could be right. But, some internal component, for example C1.2 could have some design, performance, implementation, etc, problems. There are No strict rules on how management, or a top level engineering personel, should make a final decision.
0 Kudos
SergeyKostrov
Valued Contributor II
465 Views
>>...In order to make a final decision you need to evaluate ALL components... This is because if one of the common, or shared, components, for example C4, has some problems then it affects both CBS and GBS subsystems.
0 Kudos
Bernard
Valued Contributor I
465 Views

There is a fundamental difference between CPU and GPU design. From the high level point of view CPU like Intel Haswell is optimized for out-of -order or speculation processing of data which exhibits a complex code branching. On the other hand GPU is optimized for massive parallel data processing by in-order shader cores with little code branching. 

0 Kudos
SergeyKostrov
Valued Contributor II
465 Views
I wonder why some IDZ users ( I mean Samar V in that case ) disappear after asking a really good question?
0 Kudos
Reply