7 ms·
Or they figure there is no point in pouring exponentially more cash into R&D when there is no viable competition left. It's hard to tell with Intel.
by revelation 11y ago
Or they figure there is no point in pouring exponentially more cash into R&D when there is no viable competition left.
It's hard to tell with Intel.
- raverbashing 11y agoAnd less and less people buy new PCs with their products Some phones have Intel processors but they're not popular
- beeboop 11y agoI found this hard to believe but from a quick Google search it appears you're right - Intel desktop CPU sales have been on a downward trend since 2011.
- creshal 11y agoThat's partially related to Intel running against a wall with CPU speeds around that time, and partially to the mobile boom. An 2011 i7-2600K desktop CPU is still competitive with current generation i7 CPUs for general-purpose computing – most improvements were in specialized instruction sets like AVX or TSX (which infamously was broken on the first generation shipping it). Lower-end i3 and i5 are even worse off, because they don't get most acceleration instruction sets in the first place. For consumers, it makes absolutely no sense to upgrade their desktop PCs unless they break.
- beeboop 11y agoI am actually part of that camp. I have a i3570k and recently did an entire system upgrade including changing from full tower to mini ITX. The only real problem was the selection of mini ITX motherboards for my older socket type is pretty poor. But I'm now Oculus ready with only a minor CPU overclock despite my CPU being pretty old.
- dmoy 11y agoYea I still keep waiting to upgrade my 2600k, but at this point I think all the other parts will physically break before I need to. It's like 10-20% slower than a chip 5 years newer, big woop.
- creshal 11y agoOverclock by 20% aaaand done.
- kevinnk 11y agoThe 2600k cost about $350 new in 2011. For the same amount of money you could get a 5820K which is about 1.5x faster than the 2600k (or to put it in your terms, the 2600k is 52% slower). Still probably not worth it, but I looked up the numbers and might as well post them.
- seanp2k2 11y agoSame here. It's hard to want to upgrade a 2500k stable at 4.6ghz on air with no overvolting. Got it right when it came out. OTOH, starting with a Radeon 6870 then later adding a second for crossfire and Bitcoin mining when that was profitable still barely give me the power to play the newest Rainbow 6 on low everything @1920x1200 while keeping >30FPS min on Win10. I'm personally waiting for the new GPUs to come later this year before upgrading, then seeing if Oculus or Vive has better game support at that time.
- pcwalton 11y agoWell, don't forget the GPU. Intel Iris is much better than Intel HD. The way I see it, this is our fault as software developers. A 2016 PC would be much faster than a 2011 PC if we as software developers made good use of SIMD and GPUs. But we don't.
- vanderZwan 11y agoI blame the latter on language expressiveness more than anything else. Here's two pieces of C++ code; one "clean", one fast, taken from [0]: void blur(const Image &in, Image &blurred) { Image tmp(in.width(), in.height()); for (int y = 0; y < in.height(); y++){ for (int x = 0; x < in.width(); x++){ tmp(x, y) = (in(x-1, y) + in(x, y) + in(x+1, y))/3; } } for (int y = 0; y < in.height(); y++){ for (int x = 0; x < in.width(); x++){ blurred(x, y) = (tmp(x, y-1) + tmp(x, y) + tmp(x, y+1))/3; } } } The optimised-for-speed version (order of magnitude difference): void fast_blur(const Image &in, Image &blurred) { m128i one_third = _mm_set1_epi16(21846); #pragma omp parallel for for (int yTile = 0; yTile < in.height(); yTile += 32) { m128i a, b, c, sum, avg; m128i tmp[(256/8)*(32+2)]; for (int xTile = 0; xTile < in.width(); xTile += 256) { m128i *tmpPtr = tmp; for (int y = -1; y < 32+1; y++) { const uint16_t *inPtr = &(in(xTile, yTile+y)); for (int x = 0; x < 256; x += 8) { a = _mm_loadu_si128(( m128i*)(inPtr-1)); b = _mm_loadu_si128(( m128i*)(inPtr+1)); c = _mm_load_si128(( m128i*)(inPtr)); sum = _mm_add_epi16(_mm_add_epi16(a, b), c); avg = _mm_mulhi_epi16(sum, one_third); _mm_store_si128(tmpPtr++, avg); inPtr += 8; } } tmpPtr = tmp; for (int y = 0; y < 32; y++) { m128i *outPtr = ( m128i *)(&(blurred(xTile, yTile+y))); for (int x = 0; x < 256; x += 8) { a = _mm_load_si128(tmpPtr+(2*256)/8); b = _mm_load_si128(tmpPtr+256/8); c = _mm_load_si128(tmpPtr++); sum = _mm_add_epi16(_mm_add_epi16(a, b), c); avg = _mm_mulhi_epi16(sum, one_third); _mm_store_si128(outPtr++, avg); } } } } } I don't know about you, but that looks like an error prone maintenance disaster waiting to happen. And, just for comparison, Halide code that produces results as fast as the second code: Func halide_blur(Func in) { Func tmp, blurred; Var x, y, xi, yi; // The algorithm tmp(x, y) = (in(x-1, y) + in(x, y) + in(x+1, y))/3; blurred(x, y) = (tmp(x, y-1) + tmp(x, y) + tmp(x, y+1))/3; // The schedule blurred.tile(x, y, xi, yi, 256, 32).vectorize(xi, 8).parallel(y); tmp.chunk(x).vectorize(x, 8); return blurred; } (this is kind of a weird coincidence; last time I replied to you I mentioned Halide[1] as well) [0] http://people.csail.mit.edu/jrk/halide12/halide12.pdf http://people.csail.mit.edu/jrk/halide12/halide12.pdf [1] http://halide-lang.org/ http://halide-lang.org/
- AnonNo15 11y agoYou forgot about server market which is Intel-dominated and growing well.
- avs733 11y agoThe way I have begun to term it to people not really familiar with technology is this: Every time you buy a cellphone with an ARM chip, Amazon buys an Intel chip to process all the data, services, apps, and websites you access from your phone and all the data those services, apps, and websites collect from you.
- Igglyboo 11y agoThey squashed AMD long ago, I don't think it's this.
- hinkley 11y agoIf they drag their feet long enough eventually ARM will catch up, right?