Well, if you've got an NVidia card + XEON (which happens to be what I have available at work), then any newly written code is going to be in OpenCL or LLVM IR (via C++ or custom language). If you're going that route, any code you write will more or less work on Phi with little modification (although I have not got a Phi on which I can actually test my hypothesis here, so I may be talking BS!). So in theory at least, it won't be any harder to write code for Phi than for NVidia/AMD. The thing that appeals to me about Phi the most, is simply the slightly less restrictive way you can address memory, code, and the CPU cores. GPU's were originally designed to be a more or less a one way process. You throw geometry data from the CPU to the GPU, and the GPU throws it on the screen. Whilst GPU's are much more general purpose these days, they do still display that heritage in the occasional moment where you realise "damn, I'm unable to access that memory here", or "damn, I have to split this process into two seperate ones because the hardware says so".
struct vec3_FPU { float x, y, z; };
struct vec3_SSE { __m128 x, y, z; };
struct vec3_AVX { __m256 x, y, z; };
struct vec3_PHI { __m512 x, y, z; };
template<typename T>
T add(const T& a, const T& b)
{
T r;
r.x = add(a.x, b.x);
r.y = add(a.y, b.y);
r.z = add(a.z, b.z);
return r;
}
Porting existing SSE4/AVX code to Phi is usually just a case of changing a typedef (or template type param), and overloading a bunch of low level functions (e.g. add, sub, etc). If it's not that simple for you, I'd suspect you may be doing it wrong. Porting from one to the other should only take a day or two at most.
ispc, OpenCL, and LLVM on the way. Failing that, you could of course use C++ and AVX intrinsics (which would be a good choice if you already have a load of SSE4/AVX optimised code lying about).
Yeah sorry, but no. I've run internship programs in the past, and fundamentally they all serve a single purpose: To ensure that a company can hire the best graduates possible.
Hire an intern. Pay them well. Treat them well. Give them the best training your company can provide. After their 3months -> year placement, send them back to complete their degree knowing far more than when they arrived at your company.
If you do this (and really it isn't very hard), then the intern will usually contact you before they've spoken to any other companies (which means you get the long term pay off). They'll also tell the other students in their year that you're a really cool company (which leads to more CV's arriving in your office), and they'll also tell their lecturers how great you were at training them (which usually means those same lecturers will pass you details on their best students for next year).
This thing would need a reinforced mating surface on the bottom for train mode, one on the top for plane mode, and then hardware on the plane to accept the mount
Or you could go for the low cost option, and simply form each passenger into the shape of a UPS parcel....
No. The BBC iPlayer always gives you a continue/cancel warning dialog before you start watching any live broadcasts on the iPlayer, so there's no danger of accidentally clicking the button.
Intel provides rather extensive technical documentation of all their products. http://www.intel.com/content/www/us/en/processors/core/CoreTechnicalResources.html [intel.com] is the page with basic datasheets (basic in this case meaning a couple hundred pages, their more detailed ones are a thousand). If you truly are as interested in the technical details as you pretend, then go look them up.
I've had a look through, but apart from saying "it has 20 execution units", it doesn't really mention any specific figures (for the actually useful information). It does however state that it's OpenGL4.0, which is a little disappointing (a step up from 3.2, but it's still lagging behind AMD & NVidia).
However if you are just throwing out technical shit in an attempt to deflect the argument then knock it off. Particularly since much of what you are asking for are the kind of the things that would be of concern for high end dedicated GPUs for particular applications, not for an integrated controller for general use.
Well, I'm a graphics engineer in the games industry by trade, so I guess you could say I have a passing interest. The things I am asking for, are things that can help improve the performance of the products I work on. Now you might not find this stuff particularly interesting, however I do. So as a very simple example, I have an order-independent-transparency pass to handle pixel perfect transparency. On the current integrated AMD GPU, I can basically pick between any number of algorithms to achieve this (weighted average, dual depth peeling, etc, etc). Now, which one I choose, is going to be largely affected by what GPU resources I need to use for other things, and this includes: memory, the max number of shader attribs, the max number of bindable texture units, etc; but in general, I have resources to spare, so I am free to pick and choose.
The problem with Intel APUs in the past, is that whilst the last generation may have implemented OpenGL 3.2 to the letter, the max attrib counts and shader instructions were significantly lower than the AMD/Nvidia equivalents. This means you typically have to insert an Intel only codepath, where you will either just rip out the nice stuff, or you'll end up using a much slower multipass technique. As a result, making frame-rate comparisons in any game is most likely to be meaningless (since there is a good chance they are running a simplified codepath for intel).
It's all well and good, and matters for certain markets and applications, but those markets are generally not the ones using an integrated GPU. Most people just care how fast it runs their stuff.
Yes, and No. It's very true that most people just want their stuff to run quickly. However, to say that the legions of people out there running low powered ultrabooks and cheap generic laptops don't care about this stuff, is complete and total bullshit. You might imagine that all gamers have £3000 desktop rigs with all the trimmings, but the reality is infact very different. If I can spend a few months optimising the graphics routines to run a game smoothly at 720p on an Intel APU, then the market sector into which we can sell our product, has more or less tripled. Even if you don't go to the effort, you will probably be forced into making those optimisations anyway. Honestly, you would be surprised at just how many people ignore the minimum system requirements on a game, and simply assume their "i3 Dell laptop is brand new, so it should play the latest games". What are you going to do? Refund half of your sales? Or fix it? If you see sense, you'll fix it, and then most of your users will have the luxury of being able to ask how quickly it runs....
Richland's GPU is at best about 20% faster than the intentionally-midrange HD-4600 GPU in Haswell.
Yes, but what OpenGL features does the Haswell APU have compared to the full GL 4.3 found in the AMD version? How good are the Intel drivers? How many textures can I bind at once? What anti-aliasing modes does it support? What are the max number of shader varying/uniform attribs? How many shader instructions can I fit within my shaders? Back in 1999, comparing raw polygon speed may have meant something, but these days it's not really as interesting as the rest of the details....
..... and some people think 'sport' involves shooting the brain out of a helpless fox with a bloody big rifle (having ridden a horse for a number of miles, whilst following the pack of hunting dogs you set on the fox earlier that morning). To me, there is a difference between 'sport' and sport, and I'd say that e-sports is definitely a 'sport'.
The quality of some of the games being played? Chess takes skill, and a bit of dastardly cunning. There are a few computer games I've played where the gameplay can become akin to a high speed game of chess once both players are seriously good (Streetfighter 2 - alpha 3, springs to mind). However, on the whole, most games just aren't that challenging, and often luck and net latency are the biggest deciding factors in who wins (and I say this as a game developer myself). Then of course, if you mention computer games these days, pay to win gaming (a.k.a. freemium) is usually mentioned soon afterwards. Other than being impressed anyone could put up with those cynical money grabbing efforts for more than 2 seconds, let alone 17 months, there really isn't anything remotely skill based within those games now is there?
The other interesting thing about chess, is that it has rules, and those rules are constant and universal (and you can usually say that of any sport, other than maybe Formula 1). It's not that often that you wake up, turn on your chess board, and a new patch has updated the rules of the game. It's not often, that you play a game of chess, and discover that you can shoot the head off the queen because you've found a bug in the collision data that allows you to fire a missile through a wall. So I think it's highly unlikely that computer games will ever be recognised as being "a fair game", in the same way that Chess is. So, good luck to those people if they're being paid money to play those games. Just don't expect me, or the majority of people in the world, to ever take them all that seriously....
If you want to bore the pants off people, teach them the syntax of a programming language. If you want to maintain an enthusiastic class, teach the bare minimum language skills (for-loop, not for/while/do-while. std::vector, not std::vector/std::deque/std::stack/std::list. member funcs, not member funcs/operators/static methods/etc), and encourage them to 'build' interesting things (simple games, basic apps, image editing tools, sound sequencers, etc). Enthusiasm for programming and computer science is something that you develop over time. Enthusiasm for being creative and making your own computer game, is something that can grab peoples attention. Just remember that whilst *you* might love the inner workings of a 6502 processor, there will be a large number of people that will find that dull and unexciting! Constantly ask yourself the question: "Why am I showing them this? Is this going to help them be creative?", and you can't go too wrong imho (and try to encourage the people to make links with other passions they may have, e.g. art, sound, etc)
Well the Memotech MTX512 probably hasn't got enough power on it's own, but if you were to hook a government mainframe upto a barbie doll and a lightning bolt, you might just be able to make a computer science class stimulating enough to fill out a 90minute film....
Whilst I'm sure the OP was joking, I actually wish they made a discreet GPU. A while ago I was working on some commercial openGL heavy software, and periodically you'd get a bug report (e.g. rendering glitches on HD2000). With an AMD or Nvidia glitch, you just put in an order for a card of that series, pop it in your dev machine, and fix the problem. With Intel, it inevitably ends up requiring a completey new machine just to fix the bugs. I used to have a cupboard with 6 or 7 GPUs (for AMD/Intel testing), and 6 or 7 crappy laptops just for Intel. Debugging GL problems on a crap laptop is nowhere near as fun as debugging them on a high specced dev machine, and you can often end up accidentally missing problems due to the low specs (e.g. Intel GPU runs out of graphics memory when driving a 1080p monitor). Go on Intel, give us a discreet GPU please!:)
Gun deaths in the US in 2010: 11,078 homicides, 19,392 suicides, and 606 unintentional killings.
Why is no one screaming to Congress to ban automobiles?
Because that's a stupid argument, and you already know the answer.
In the vietnam war, 58,000 american soldiers lost their lives. A large number (but not all) US citizens campaigned for US troups to pull out, and eventually that happened. You see the thing about a democracy is, that you make decisions based on the majority, not the minority. It so happens that an overwhelming majority or americans believe that cars are a good thing, and should not be banned. The problem with gun ownership, is that there is now a majority of americans who believe that restrictions on gun ownership should be tightened (to some degree). They might not agree on everything, but there is general agreement for tighter restrictions. You might not like this, you might not agree with it, but unfortunately, you live in a democracy and therefore have to accept societies wishes I'm afraid. The best thing you can do, is stop making trite arguments, and start making sensible suggestions for compromises that would both be acceptable for you, and for the anti-gun lobby.
If you drop the robot from the top of a tree, does it land on its feet? Can it even climb the tree?
The kind that substitues a #define with a #endif....
Well you know, he has added support for OpenGL 1.0, and every so subtely changed the function names and arguments from the OpenGL standard:
// yeah, I loves pascal I do!
gl_scale(0.5):
I bet he's the kind of C++ programmer who does this:
#define begin {
#endif end }
if( foo )
begin
end
I suspect that the most successful and enjoyable VR games will be sandboxes and MMOs.
The most successful early adopter of technology has historically been the porn industry.
Well, if you've got an NVidia card + XEON (which happens to be what I have available at work), then any newly written code is going to be in OpenCL or LLVM IR (via C++ or custom language). If you're going that route, any code you write will more or less work on Phi with little modification (although I have not got a Phi on which I can actually test my hypothesis here, so I may be talking BS!). So in theory at least, it won't be any harder to write code for Phi than for NVidia/AMD. The thing that appeals to me about Phi the most, is simply the slightly less restrictive way you can address memory, code, and the CPU cores. GPU's were originally designed to be a more or less a one way process. You throw geometry data from the CPU to the GPU, and the GPU throws it on the screen. Whilst GPU's are much more general purpose these days, they do still display that heritage in the occasional moment where you realise "damn, I'm unable to access that memory here", or "damn, I have to split this process into two seperate ones because the hardware says so".
struct vec3_FPU { float x, y, z; };
struct vec3_SSE { __m128 x, y, z; };
struct vec3_AVX { __m256 x, y, z; };
struct vec3_PHI { __m512 x, y, z; };
template<typename T>
T add(const T& a, const T& b)
{
T r;
r.x = add(a.x, b.x);
r.y = add(a.y, b.y);
r.z = add(a.z, b.z);
return r;
}
Porting existing SSE4/AVX code to Phi is usually just a case of changing a typedef (or template type param), and overloading a bunch of low level functions (e.g. add, sub, etc). If it's not that simple for you, I'd suspect you may be doing it wrong. Porting from one to the other should only take a day or two at most.
ispc, OpenCL, and LLVM on the way. Failing that, you could of course use C++ and AVX intrinsics (which would be a good choice if you already have a load of SSE4/AVX optimised code lying about).
Yeah sorry, but no. I've run internship programs in the past, and fundamentally they all serve a single purpose: To ensure that a company can hire the best graduates possible.
Hire an intern. Pay them well. Treat them well. Give them the best training your company can provide. After their 3months -> year placement, send them back to complete their degree knowing far more than when they arrived at your company.
If you do this (and really it isn't very hard), then the intern will usually contact you before they've spoken to any other companies (which means you get the long term pay off). They'll also tell the other students in their year that you're a really cool company (which leads to more CV's arriving in your office), and they'll also tell their lecturers how great you were at training them (which usually means those same lecturers will pass you details on their best students for next year).
There was this from 1987....
This thing would need a reinforced mating surface on the bottom for train mode, one on the top for plane mode, and then hardware on the plane to accept the mount
Or you could go for the low cost option, and simply form each passenger into the shape of a UPS parcel....
yeah, this article is guessing at about 125w....
British Storm Time.
No. The BBC iPlayer always gives you a continue/cancel warning dialog before you start watching any live broadcasts on the iPlayer, so there's no danger of accidentally clicking the button.
Intel provides rather extensive technical documentation of all their products. http://www.intel.com/content/www/us/en/processors/core/CoreTechnicalResources.html [intel.com] is the page with basic datasheets (basic in this case meaning a couple hundred pages, their more detailed ones are a thousand). If you truly are as interested in the technical details as you pretend, then go look them up.
I've had a look through, but apart from saying "it has 20 execution units", it doesn't really mention any specific figures (for the actually useful information). It does however state that it's OpenGL4.0, which is a little disappointing (a step up from 3.2, but it's still lagging behind AMD & NVidia).
However if you are just throwing out technical shit in an attempt to deflect the argument then knock it off. Particularly since much of what you are asking for are the kind of the things that would be of concern for high end dedicated GPUs for particular applications, not for an integrated controller for general use.
Well, I'm a graphics engineer in the games industry by trade, so I guess you could say I have a passing interest. The things I am asking for, are things that can help improve the performance of the products I work on. Now you might not find this stuff particularly interesting, however I do. So as a very simple example, I have an order-independent-transparency pass to handle pixel perfect transparency. On the current integrated AMD GPU, I can basically pick between any number of algorithms to achieve this (weighted average, dual depth peeling, etc, etc). Now, which one I choose, is going to be largely affected by what GPU resources I need to use for other things, and this includes: memory, the max number of shader attribs, the max number of bindable texture units, etc; but in general, I have resources to spare, so I am free to pick and choose.
The problem with Intel APUs in the past, is that whilst the last generation may have implemented OpenGL 3.2 to the letter, the max attrib counts and shader instructions were significantly lower than the AMD/Nvidia equivalents. This means you typically have to insert an Intel only codepath, where you will either just rip out the nice stuff, or you'll end up using a much slower multipass technique. As a result, making frame-rate comparisons in any game is most likely to be meaningless (since there is a good chance they are running a simplified codepath for intel).
It's all well and good, and matters for certain markets and applications, but those markets are generally not the ones using an integrated GPU. Most people just care how fast it runs their stuff.
Yes, and No. It's very true that most people just want their stuff to run quickly. However, to say that the legions of people out there running low powered ultrabooks and cheap generic laptops don't care about this stuff, is complete and total bullshit. You might imagine that all gamers have £3000 desktop rigs with all the trimmings, but the reality is infact very different. If I can spend a few months optimising the graphics routines to run a game smoothly at 720p on an Intel APU, then the market sector into which we can sell our product, has more or less tripled. Even if you don't go to the effort, you will probably be forced into making those optimisations anyway. Honestly, you would be surprised at just how many people ignore the minimum system requirements on a game, and simply assume their "i3 Dell laptop is brand new, so it should play the latest games". What are you going to do? Refund half of your sales? Or fix it? If you see sense, you'll fix it, and then most of your users will have the luxury of being able to ask how quickly it runs....
Richland's GPU is at best about 20% faster than the intentionally-midrange HD-4600 GPU in Haswell.
Yes, but what OpenGL features does the Haswell APU have compared to the full GL 4.3 found in the AMD version? How good are the Intel drivers? How many textures can I bind at once? What anti-aliasing modes does it support? What are the max number of shader varying/uniform attribs? How many shader instructions can I fit within my shaders? Back in 1999, comparing raw polygon speed may have meant something, but these days it's not really as interesting as the rest of the details....
No, nothing since teletext shut down.
..... and some people think 'sport' involves shooting the brain out of a helpless fox with a bloody big rifle (having ridden a horse for a number of miles, whilst following the pack of hunting dogs you set on the fox earlier that morning). To me, there is a difference between 'sport' and sport, and I'd say that e-sports is definitely a 'sport'.
The quality of some of the games being played? Chess takes skill, and a bit of dastardly cunning. There are a few computer games I've played where the gameplay can become akin to a high speed game of chess once both players are seriously good (Streetfighter 2 - alpha 3, springs to mind). However, on the whole, most games just aren't that challenging, and often luck and net latency are the biggest deciding factors in who wins (and I say this as a game developer myself). Then of course, if you mention computer games these days, pay to win gaming (a.k.a. freemium) is usually mentioned soon afterwards. Other than being impressed anyone could put up with those cynical money grabbing efforts for more than 2 seconds, let alone 17 months, there really isn't anything remotely skill based within those games now is there?
The other interesting thing about chess, is that it has rules, and those rules are constant and universal (and you can usually say that of any sport, other than maybe Formula 1). It's not that often that you wake up, turn on your chess board, and a new patch has updated the rules of the game. It's not often, that you play a game of chess, and discover that you can shoot the head off the queen because you've found a bug in the collision data that allows you to fire a missile through a wall. So I think it's highly unlikely that computer games will ever be recognised as being "a fair game", in the same way that Chess is. So, good luck to those people if they're being paid money to play those games. Just don't expect me, or the majority of people in the world, to ever take them all that seriously....
+1 (and an ex-educator)
If you want to bore the pants off people, teach them the syntax of a programming language. If you want to maintain an enthusiastic class, teach the bare minimum language skills (for-loop, not for/while/do-while. std::vector, not std::vector/std::deque/std::stack/std::list. member funcs, not member funcs/operators/static methods/etc), and encourage them to 'build' interesting things (simple games, basic apps, image editing tools, sound sequencers, etc). Enthusiasm for programming and computer science is something that you develop over time. Enthusiasm for being creative and making your own computer game, is something that can grab peoples attention. Just remember that whilst *you* might love the inner workings of a 6502 processor, there will be a large number of people that will find that dull and unexciting! Constantly ask yourself the question: "Why am I showing them this? Is this going to help them be creative?", and you can't go too wrong imho (and try to encourage the people to make links with other passions they may have, e.g. art, sound, etc)
Well the Memotech MTX512 probably hasn't got enough power on it's own, but if you were to hook a government mainframe upto a barbie doll and a lightning bolt, you might just be able to make a computer science class stimulating enough to fill out a 90minute film....
Whilst I'm sure the OP was joking, I actually wish they made a discreet GPU. A while ago I was working on some commercial openGL heavy software, and periodically you'd get a bug report (e.g. rendering glitches on HD2000). With an AMD or Nvidia glitch, you just put in an order for a card of that series, pop it in your dev machine, and fix the problem. With Intel, it inevitably ends up requiring a completey new machine just to fix the bugs. I used to have a cupboard with 6 or 7 GPUs (for AMD/Intel testing), and 6 or 7 crappy laptops just for Intel. Debugging GL problems on a crap laptop is nowhere near as fun as debugging them on a high specced dev machine, and you can often end up accidentally missing problems due to the low specs (e.g. Intel GPU runs out of graphics memory when driving a 1080p monitor). Go on Intel, give us a discreet GPU please! :)
But more importantly, how many cat videos is that per hour?
C++ isn't a bad language, it's just saddled with terrible standard libraries (of which STL is one of the worst offenders).
Why is no one screaming to Congress to ban automobiles?
Because that's a stupid argument, and you already know the answer.
In the vietnam war, 58,000 american soldiers lost their lives. A large number (but not all) US citizens campaigned for US troups to pull out, and eventually that happened. You see the thing about a democracy is, that you make decisions based on the majority, not the minority. It so happens that an overwhelming majority or americans believe that cars are a good thing, and should not be banned. The problem with gun ownership, is that there is now a majority of americans who believe that restrictions on gun ownership should be tightened (to some degree). They might not agree on everything, but there is general agreement for tighter restrictions. You might not like this, you might not agree with it, but unfortunately, you live in a democracy and therefore have to accept societies wishes I'm afraid. The best thing you can do, is stop making trite arguments, and start making sensible suggestions for compromises that would both be acceptable for you, and for the anti-gun lobby.
It runs on Windows 7 just fine.