X CPUs + 1 GPU

Message boards : Questions and problems : X CPUs + 1 GPU
Message board moderation

To post messages, you must log in.

AuthorMessage
SuperSluether

Send message
Joined: 6 Jul 14
Posts: 94
United States
Message 56798 - Posted: 19 Oct 2014, 2:08:09 UTC

I'm probably misunderstanding, but why do GPU tasks always use some CPU? And it's always a fraction, like 0.5 for Collatz or 0.01 for Asteroids. How do you get half a thread to run on a processor? :-P I guess what I'm trying to figure out is, does the CPU actually do anything, or is it just the "middle man" for the GPU?
ID: 56798 · Report as offensive
Profile Gary Charpentier
Avatar

Send message
Joined: 23 Feb 08
Posts: 2465
United States
Message 56803 - Posted: 19 Oct 2014, 5:35:57 UTC - in response to Message 56798.  

I'm probably misunderstanding, but why do GPU tasks always use some CPU? And it's always a fraction, like 0.5 for Collatz or 0.01 for Asteroids. How do you get half a thread to run on a processor? :-P I guess what I'm trying to figure out is, does the CPU actually do anything, or is it just the "middle man" for the GPU?

In order:
1) Data has to be moved from disc to main memory to the GPU memory and back.
2) Depends on the science.
3) You have it spend time sleeping. It isn't really a thread count at that point, more an expectation of how much sleeping it will be doing.
4) Yes.

The last one is really yes. It has to be a middle man. It also has to do a small amount of work getting the data in order to be sent back. However for some science things, there is a lot more than some minimal housekeeping that needs to be done. Those may need things split or combined in some special way for the GPU to chew on them. At points in the life of a work unit all the work may be being done on the CPU and at other points all on the GPU. Oh as to that fraction number, it isn't fixed, Seti for one issues work units with different fractions based on the data in the unit.
ID: 56803 · Report as offensive
SuperSluether

Send message
Joined: 6 Jul 14
Posts: 94
United States
Message 56833 - Posted: 19 Oct 2014, 18:08:20 UTC - in response to Message 56803.  

I'm probably misunderstanding, but why do GPU tasks always use some CPU? And it's always a fraction, like 0.5 for Collatz or 0.01 for Asteroids. How do you get half a thread to run on a processor? :-P I guess what I'm trying to figure out is, does the CPU actually do anything, or is it just the "middle man" for the GPU?

In order:
1) Data has to be moved from disc to main memory to the GPU memory and back.
2) Depends on the science.
3) You have it spend time sleeping. It isn't really a thread count at that point, more an expectation of how much sleeping it will be doing.
4) Yes.

The last one is really yes. It has to be a middle man. It also has to do a small amount of work getting the data in order to be sent back. However for some science things, there is a lot more than some minimal housekeeping that needs to be done. Those may need things split or combined in some special way for the GPU to chew on them. At points in the life of a work unit all the work may be being done on the CPU and at other points all on the GPU. Oh as to that fraction number, it isn't fixed, Seti for one issues work units with different fractions based on the data in the unit.


Thanks, I think I get it now. :)
ID: 56833 · Report as offensive

Message boards : Questions and problems : X CPUs + 1 GPU

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.