Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
ehnus
Apr 16, 2003

Now you're thinking with portals!
Which heatsinks are you people using? Is anyone getting away with 4GHz on Intel's retail piece?

Adbot
ADBOT LOVES YOU

ehnus
Apr 16, 2003

Now you're thinking with portals!
I've got a Pineview mini-ITX machine I run Linux on but it's a couple years old. I like that the machine uses basically no power and is completely silent, but it would be kinda nice to upgrade. Any idea when the next generation of Atoms will be available in a desktop-ish form factor?

ehnus
Apr 16, 2003

Now you're thinking with portals!

Combat Pretzel posted:

Haha, what the poo poo?!

"Free optimization" probably just means money.

Sort of. The situations I've heard of involve the game source going to Intel (or other third parties) for them to work their magic at optimizing. Or Intel sending people to the game team to sit with their developers and work.

It's free developer time focused only on making the game look better or go faster. Which is kind of like free money.

ehnus
Apr 16, 2003

Now you're thinking with portals!
An execution unit is a block of silicon that does the processing. Typically these include arithmetic units, floating point units, and load/store units. A "core" is a combination of some number of execution units, register files, and cache. Register files are where the intermediate computation forms are stored, sort of like memory but filled with the data used by the execution units.

Hyperthreaded CPUs have separate register files per-thread but share execution units. Benefits to hyper threading come in situations where the execution units would normally lie in wait. For example, if the code is waiting on data to make it into the registers from the cache, or into the cache from other tiers of cache (or main memory), they just sit there twiddling their thumbs until they can work again. If you can have another computation queued up in another thread you can keep the execution unit packed.

Systems with many hyperthreads (POWER8/9, GPUs/Xeon Phi, etc.) are useful in cases where computation is frequently blocked on waiting for data. For a database server that spends a lot of time waiting for pages to be brought off of media and into memory, or from memory into cache, you can get great efficiency increases when you have 8 threads sharing a common set of execution units.

ehnus
Apr 16, 2003

Now you're thinking with portals!

silence_kit posted:

OK, so my earlier conception of hyper-threading was very wrong. Hyper-threading presents multiple independent instruction streams (might be using that term incorrectly) to the programmer, but these instruction streams under the hood share computation circuits or 'execution units' and under certain workloads, will have to wait for their turn to use the integer addition circuit, for example.

Yeah, pretty much. The "independent instruction streams" usually manifest as operating system threads.

The speedup can be so variable because if you have, say, two integer heavy workloads sharing the threads they'll just be waiting for the execution units to free up and you won't see any (significant) gains.

If you can pair, say, a floating point heavy workload on one thread with an integer heavy workloads on the other you'll see much higher throughput. Likely not 2x though as they'll be bottlenecked on bits you just can't get away from, like memory load/store.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply