Slashdot Mirror


Microsoft Demos C++ AMP At AMD Developers Summit

MojoKid writes "The second day of the AMD Fusion Developer Summit began with a keynote from Microsoft's Herb Sutter, Principal Architect, Native Languages and resident C++ guru. The gist of Herb's talk centered around heterogeneous computing and the changes coming with future versions of Visual Studio and C++. One of the main highlights of the talk was a demo of a C++ AMP application that seamlessly took advantage of all of the compute resources within a few of the various demo systems, from workstations to netbooks. The physics demo seamlessly switched from using CPU, integrated GPU, and discrete GPU resources, showcasing the performance capabilities of each. As additional bodies are added, workload increases with a ramp-up to over 600 of GFLops in compute performance."

187 comments

  1. Where's my C# version? by Dan9999 · · Score: 1

    yeah, that's all I wanted to know.

    1. Re:Where's my C# version? by exomondo · · Score: 3, Funny

      Oh but haven't you heard? They're dropping everything else for HTML5/JavaScript ;)

    2. Re:Where's my C# version? by pnewhook · · Score: 0, Troll

      C# is an abomination. Glad they have some sense and stuck with a standard language.

      --
      Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
    3. Re:Where's my C# version? by kelemvor4 · · Score: 1

      Correct!

    4. Re:Where's my C# version? by rubycodez · · Score: 0, Flamebait

      C++ is equally garbage. Having to have dealt with it for 25 years, it pains me to see it still lingering like a rancid fart in an empty church auditorium. Let's move on.

    5. Re:Where's my C# version? by Anonymous Coward · · Score: 1

      Right here: http://research.microsoft.com/en-us/projects/Accelerator/. Write in managed languages or native C/C++ and target multicore and GPUs.

    6. Re:Where's my C# version? by Anonymous Coward · · Score: 0

      Java is equally garbage.

    7. Re:Where's my C# version? by Anonymous Coward · · Score: 0

      Move on to what? The fucking retarded .NET?

    8. Re:Where's my C# version? by c0lo · · Score: 2

      Java is equally garbage.

      Mm-yeeaah!... But, at least, it has a garbage collector. :)

      --
      Questions raise, answers kill. Raise questions to stay alive.
    9. Re:Where's my C# version? by c0lo · · Score: 1

      Haskell? So '90... but newer than C++ anyway?

      --
      Questions raise, answers kill. Raise questions to stay alive.
    10. Re:Where's my C# version? by Anonymous Coward · · Score: 0

      Java is equally garbage.

      Mm-yeeaah!... But, at least, it has a garbage collector. :)

      If only it could collect itself.

    11. Re:Where's my C# version? by Requiem18th · · Score: 1

      Java is equally garbage.

      I think you mean: Java.equals(garbage).

      What about Vala?

      --
      But... the future refused to change.
    12. Re:Where's my C# version? by c0lo · · Score: 2

      Java is equally garbage.

      Mm-yeeaah!... But, at least, it has a garbage collector. :)

      If only it could collect itself.

      You need something recursive for that: try Prolog and/or the "GNU's not UNIX" toolset :)

      --
      Questions raise, answers kill. Raise questions to stay alive.
    13. Re:Where's my C# version? by luke923 · · Score: 1

      Reminds me of the joke in Truly Tasteless Jokes about the difference between a girl from New Jersey and trash.

      --
      "Good, Fast, Cheap: Pick any two" -- RFC 1925
    14. Re:Where's my C# version? by Suiggy · · Score: 1

      C# has stolen all of the love for the past decade, it's high time Microsoft significantly retooled their native development languages and technologies. Us native developers are literally starving for new stuff, fortunately C++0x is nearly ratified and heterogeneous HPC with OpenCL and DirectCompute is gaining ground. My guess is that C++ AMP is a merging of their C++ compiler with DirectCompute.

      C# and other managed languages aren't exactly the best choice for true HPC.

    15. Re:Where's my C# version? by Anonymous Coward · · Score: 0

      C# is standard, retard.

    16. Re:Where's my C# version? by luke923 · · Score: 1

      There's two problems with that. One, their implementation of Javascript (even in IE9) is far from standard. If you don't believe me, try to implement XHR or prevent a DOM from bubbling up to it's parent -- you'll see that either is impossible to do cross-browser without creating exceptions for IE. The second is that IE still doesn't have a standard box model. Hell, even something as the CSS property border-radius can be implemented without there being issues.

      So, yeah, they're going the HTML5 route, but I doubt it will be W3C-based.

      --
      "Good, Fast, Cheap: Pick any two" -- RFC 1925
    17. Re:Where's my C# version? by ThePhilips · · Score: 1

      Paint me surprised: MS can C++??? Last time I checked they had no C++ anymore. I think by C++ they actually mean the silly managed(?) thing they try to pass as C++ instead. Meaning that it is at least half way already implemented in C#.

      --
      All hope abandon ye who enter here.
    18. Re:Where's my C# version? by StripedCow · · Score: 1

      Well, now you understand where their hunger for more speed comes from.

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    19. Re:Where's my C# version? by TheRaven64 · · Score: 1

      C# and other managed languages aren't exactly the best choice for true HPC.

      That's okay - neither is Windows.

      --
      I am TheRaven on Soylent News
    20. Re:Where's my C# version? by thetoadwarrior · · Score: 1

      C#? lol - use a real language.

    21. Re:Where's my C# version? by Bengie · · Score: 1

      The Windows API is actually all C. All the managed stuff is just an easier to use wrapper.

      Managed C++ doesn't even have working syntax highlighting in VS2010 because almost no one uses it. It's currently on the back-burner to eventually get fixed.

    22. Re:Where's my C# version? by fitten · · Score: 2

      Yeah, I know you're trolling, but C# is a good language. I've coded millions of lines in C, C++, and C# and I can tell you which I'd rather code in any day of the week and twice on Sunday. Combined with VS, you simply get. stuff. done. very quickly and very easily.

    23. Re:Where's my C# version? by Mongoose+Disciple · · Score: 2

      Ahh, the sinking feeling of having written a serious response to a post that's accruing funny mods...

    24. Re:Where's my C# version? by terjeber · · Score: 1

      Just curious, retarded compared to what?

      Currently my favorite tools for developing enterprise LOB apps (assuming web-based) would probably be something like:

      • Ruby/Rails (never could get the hang of Python, probably me)
      • .NET MVC (I refuse to call it ASP.NET, it has nothing to do with that abomination)
      • Java with Play!
      • Spring MVC

      These are in order. Ruby is frequently out due to, well, it being Ruby and lots of people with decision-making power will go "Ruby???". .NET is out when I want do be cross-platform (not comfortable with Mono yet). Play! When I need to use Java and if I can avoid managers getting involved. Spring if the above fails.

      .NET MVC beats both Play! and Spring hands down. It is significantly better both in tooling and in features, not to forget time-to-release. As an old Java hand it some times pains me to say this, but I can only think of a single advantage Java has over C#/.NET these days, and that is some measure of cross-platform capabilities. If cross-platform is irrelevant, you'll be significantly more productive with .NET than Java. Always. It didn't use to be like that, but Java has stagnated in a bad way and it is too bloated. Unless you use Play! that is.

    25. Re:Where's my C# version? by terjeber · · Score: 2

      Ah, QNX :-)

    26. Re:Where's my C# version? by rubycodez · · Score: 1

      Yes, I work for a hardware VAR, they love the bloated j2ee/java because it sells hardware, at least twice as much as alternatives would need. Java language structure conceptually is just a C++ spinoff, the JVM has some virtues if you run better languages on it

    27. Re:Where's my C# version? by Nethemas+the+Great · · Score: 1

      But, Microsoft said that was the future and I'm betting big. I just laid off all my .NET developers and hired a bunch of HTML/JavaScripts kids from the local sweat monkey shop. What are you telling me?

      --
      Two of my imaginary friends reproduced once ... with negative results.
    28. Re:Where's my C# version? by Nethemas+the+Great · · Score: 1

      Actually they have C++ but broke their C++/CLI support. No more Intellisense just a dumb IDE with mediocre syntax highlighting. It will still build mind you, but you best be careful what you write as you can no longer rely upon the IDE to assist your graph navigation. One mispelled identifier and you'll be hunting for hours.

      --
      Two of my imaginary friends reproduced once ... with negative results.
    29. Re:Where's my C# version? by rubycodez · · Score: 1

      So you must be running Windows I take it. Retarded compared to using real operating system? My employer makes a fortune sending windows engineers to fix never ending enterprise windows issues at clients, while I do all the Linux/Unix/VMS and have a rather relaxed life compared to them. Mostly I design and set up and migrate to systems, document and train how to maintain/patch/admin; and never see the clients again until they want to build something new.

    30. Re:Where's my C# version? by terjeber · · Score: 1

      So you must have a reading-comprehension problem I take it. My personal workstation is a Windows XP thing, but if you had been able to read you would have seen that I also have to do cross-platform stuff. In such cases I am on Linux primarily. Some times I wander into Solaris territory.

      There are a number of reasons that Windows (I would like it to be 7, but that isn't going to happen for another month or so) is my primary workstation. The main is that it is also my customers main workstation. Another is that I use Photoshop and Sony Vegas, neither of which have equivalents on Linux.

      Linux is a great server OS, but as a client OS it sucks. Still. Big hairy balls. Eclipse on Windows, as an example, is a joy to use compared to on Linux. On Linux it is, quite frankly, crap. The fault of Eclipse? Not so much. The fault of Linux.

      Being religious about what platform you use is a sure sign that as an IT professional you are ready for replacement.

    31. Re:Where's my C# version? by rubycodez · · Score: 1

      Being religious about what platform you use is a sure sign that as an IT professional you are ready for replacement.

      That's a silly statement as I endorse, am proficient in and support over six quite different operating systems. But you only know perhaps the two you mention, but you think I am the one with narrow mind? If a person like me points out that one particular operating system has severe issues compared to five others in common enterprise use, it actually means something. Sorry about your failure to make a functional Linux desktop, I've found it superior to windows for quite a few years, with less issues than my windows running colleagues who are the victim of at least one show stopping issue a month.

    32. Re:Where's my C# version? by terjeber · · Score: 1

      Sigh. You really didn't get it did you?

      I've found it superior to windows for quite a few years

      Good for you. Now, can you please find me a good alternative to Photoshop? If you say GIMP you prove that you know nothing at all. How about Sony Vegas, can you do that for me? Hey, lets make it easy, can you find an IDE that comes close to Eclipse on Windows?

      Your statement about proficiency is silly to say the least. Which six quite different Operating Systems are we talking about?

      OK, I can play that game too. In 1985 I got my first PC, an XT clone, it had DOS and two diskette stations. I later installed Minix on said PC and developed a multi-user BBS for same. I only had one modem, so the "multi" in users was me and whoever was logged in. It had a total of 15 active users. I upgraded the PC then with an MFM controller and a 20M HD. It was a great day when I replaced the MFM controller with an RLL controller and my 20M HD magically grew to a 32M HD.

      That was my first foray into a Unix like OS at home, but at school I used SunOS (which was better than the later Solaris IMnsHO) and Pyramid Unix. Later I moved my BBS to an Atari ST also running Minix. The Motorola architecture, 16/32 bit was heaven to program against compared to the 8086.

      Time went by and I upgraded to a 386. I installed Linux 0.93 on that. It was heaven compared to Minix on 8086. That was at home. In more professional environments I worked with DEC Vaxen, and the odd PDP, but the PDPs were ancient then, just some old terrible legacy stuff that needed to be maintained every now and then. Tru64 was a great Unix when it rolled around.

      Moving on I got into the OS/2 Warp thing, which is still un-beat as it comes to UI/UX on any platform. It went nowhere so I installed Windows NT 3.5(1) on my PC, the most stable Windows ever, not strange, it was basically VMS for PCs. On the way I have dabbled with Apple, Acorn and various esoteric systems. Doing all this when you were just a glimmer of hope in your fathers sweaty palms.

    33. Re:Where's my C# version? by terjeber · · Score: 1

      BTW, tell your colleague from me that if he runs into one show-stopping issue with Windows a month he should stop surfing porn sites and answer "Yes" every time they tell him he needs to download a virus checking piece of software from said porn site. Windows hasn't been that unstable since Windows 98.

    34. Re:Where's my C# version? by rubycodez · · Score: 1

      My diversity of experience lets me spot a lemon of an OS when I see one, one that wastes billions of dollars annually due to poor source code control, bloat, susceptibility to malware, poor QA. My experience goes back into the 70s on mainframes, midrange, supercomputer as well as desktop. You must be young, starting on person machines in the 1980s, my first home computer was in the early 1970s though already working on commercial systems before then. What's my current portfolio, the IBM mainframe OS, OpenVMS, Unix (AIX, HP/UX, IRIX, Solaris), the open source Unix-like system (GNU/LInux and *BSD), the fading MPE/IX, VMware, Mac OSX. Some of the old ones include CDC NOS, RT-11, CP/M, NeXTStep, and a few others I can't remember at the moment.

    35. Re:Where's my C# version? by scot4875 · · Score: 1

      That's a silly statement as I endorse, am proficient in and support over six quite different operating systems.

      So ... 7? Or is it over 7, too?

      --Jeremy

      --
      Jesus was a liberal
    36. Re:Where's my C# version? by thetoadwarrior · · Score: 1

      I'd probably prefer to code on C# too but sometimes I need to troll.

    37. Re:Where's my C# version? by terjeber · · Score: 1

      Sigh. I have never even been close to the bees knees. As a desktop OS is is unparallelled in one important area though, applications. If you are so amazingly in love with an OS that you do not care what applications it can run, you are a moron. Linux has nothing that compares to Photoshop. Not even close. Linux has nothing that can take the place of Lightroom. Nothing in the same league, nothing. If you do photography, you can not do without either one or both of these. You simply can't. Hell, Linux can't even import the photos from my camera. In that regard it is utterly useless. Advocating Linux to someone who needs to do image management would be moronic in the extreme.

      bloat

      Really. You want to use Linux as an example of something that is not bloat. That means you are a moron. Even Linus thinks Linux is bloated by now. Anyone who has been paying attention over the past decade can not fail to notice Linux bloat. It is monstrous. If you want to see non-bloat, look at QNX.

      susceptibility to malware

      Seriously? Are you claiming that the latest installment of Linux is safer when it comes to malware than Windows. If you claim that you are an ignorant idiot. Windows 7 as an operating system is significantly better protected than Linux. Really, it is true. Check out someone who actually knows. You can google it if you wish. Again, I would not hold Windows nor Linux up here since neither has a good track record. At the moment, with the latest versions, Windows is out ahead though. With a bit of a margin actually.

      experience goes back into the 70s

      I am pretty sure that is a lie. It does explain your affection for an operating system that was designed in the 1970s though. Which Linux was.

      Again, I am a huge Linux fan and I use it where appropriate. For a home user or for the vast majority of enterprise use, Linux is a really bad fit for the desktop. There is nothing like Office for Linux, Open/Libre Office simply isn't good enough. There is nothing like Lightroom or Photoshop for Linux. There is no real video editing software for Linux. As an operating system it has its strengths, as a platform to run applications that do productive work outside of SW development, it is crap simply because there are no applications. Not in the same league as on OSX and Windows. Not by a mile.

    38. Re:Where's my C# version? by Beliskner · · Score: 1

      Seriously? Are you claiming that the latest installment of Linux is safer when it comes to malware than Windows. If you claim that you are an ignorant idiot. Windows 7 as an operating system is significantly better protected than Linux

      I think what he means is that a well configured linux box with an intelligent user is more secure than a well configured windows box with an intelligent user, because as an open source system you can verify everything youre using for security holes whereas with windows Microsoft ignores open vulnerabilities until their business case/profits are threatened, Microsoft doesnt give you a personal line to the developer

      --
      A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
  2. Great! by Anonymous Coward · · Score: 0

    Now every tiny application will strangle the system, making games impossible to run!

  3. Re:Grand Central Dispatch by exomondo · · Score: 1

    Oh, like Grand Central Dispatch from Apple?

    No, not really like that at all.

  4. Re:Grand Central Dispatch by uofitorn · · Score: 1

    Did you even read the wikipedia article you linked to (or the summary for that matter)? A cursory glance shows they're two very different technologies.

    --
    "What kind of music do pirates listen to?" -Paul Maud'dib
    "Yeeeaaarrrrr n' Bee!!" -Stilgar, Leader of Sietch Tabr
  5. Re:Grand Central Dispatch by the+linux+geek · · Score: 1

    Nope. Not remotely similar. Thanks for playing though.

  6. AMP? by c0lo · · Score: 5, Insightful
    Gosh, I came hate this acronymia that so endemic in IT.

    In this context, AMP doesn't stand for amplifier, Adenosine monophosphate or Ampere, but for "Accelerated Massive Parallelism". Seems like a microsoftism for the more traditional term of "Massive Parallel Processing"

    --
    Questions raise, answers kill. Raise questions to stay alive.
    1. Re:AMP? by Alex+Belits · · Score: 5, Insightful

      Microsoft has a history of inventing names and acronyms that collide with established terms in unrelated areas. I suspect, they are trying to get potential users to see a new name as something they have heard but know nothing about its actual meaning, so term looks "established" in those people's eyes.

      For example, ".Net".

      --
      Contrary to the popular belief, there indeed is no God.
    2. Re:AMP? by kelemvor4 · · Score: 1

      It's also a pseudo energy drink!

    3. Re:AMP? by Jeffrey_Walsh+VA · · Score: 2

      I thought it MS's answer to LAMP: Apache, MySQL, PHP but on Windows.

    4. Re:AMP? by IQgryn · · Score: 2

      WAMP? I guess it's still better than WinCE...

    5. Re:AMP? by Midnight+Thunder · · Score: 2

      Surely that would be WISA? Windows, IIS, SQL Server, ASP.

      --
      Jumpstart the tartan drive.
    6. Re:AMP? by SanityInAnarchy · · Score: 1

      I have to imagine that was also behind XP.

      --
      Don't thank God, thank a doctor!
    7. Re:AMP? by c0lo · · Score: 1

      For example, ".Net".

      This time, it wasn't them to start. To begin with, the "Microsoft Project Plan" was theirs long before the "Massive Parallel Processing" came into the picture.
      (did I mention that I hate acronyms? Yes, I did... Oh, well, SNAFU... I'm still FUBAR)

      </lame_joke>

      --
      Questions raise, answers kill. Raise questions to stay alive.
    8. Re:AMP? by overlordofmu · · Score: 2

      Haven't you heard of AFT? Acronyms for techies?

    9. Re:AMP? by phantomfive · · Score: 2, Insightful

      The worst part is when Microsofties try to get you to accept the term as something real, and that it makes Microsoft better. Example:

      Microsoftie: isn't Microsoft great? They have managed code and no one else does.
      Me: Isn't Java the same?
      Microsoftie: No, that's a virtual machine, that's different!
      Me: ..........

      --
      "First they came for the slanderers and i said nothing."
    10. Re:AMP? by c0lo · · Score: 1

      Haven't you heard of AFT? Acronyms for techies?

      Nope. Only "GNU's not Unix" ;)

      --
      Questions raise, answers kill. Raise questions to stay alive.
    11. Re:AMP? by Anonymous Coward · · Score: 0

      I dunno, what was XP ripping off or colliding with? Extreme Programming? That's a weak claim. Extreme Programming was always a shitty term and a methodology not worthy of its own terminology.

      Extreme Programming made a new era of micro-management sound like a Mountain Dew commercial.

      I was always under the impression XP in the sense of Windows, was implying "Express", not unlike Quark Express.

      If Microsoft was raining on managers taking "Programming... TO THE EXTREMMME!!!", this is a rare instance where I am glad to hear Microsoft may have muddied the waters. In case you can't tell, I take a dim view of uppity managers claiming methods like Agile, XP, Scrum and blah blah blah make two shits of a difference when you are not granted autonomy. In other words, a rose by any other name...

    12. Re:AMP? by jsac · · Score: 1

      Because "CUDA" and "GPGPU" are such obvious bits of terminology ... ?

      --
      "The urge to fly from modern systems, instead of moving through them to even greater, fairer things is, I think, an indi
    13. Re:AMP? by koreaman · · Score: 2

      C# is a "scripting language"?

      Maybe when you graduate from high school, you'll learn that how cool you are is unrelated to the height of the language you program in.

    14. Re:AMP? by Anonymous Coward · · Score: 0

      No, Massive Parallel Processing came along before there was a microsoft. (FTFY).

    15. Re:AMP? by MightyMartian · · Score: 0

      No, that's SAG... Slow Unscalable Garbage.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    16. Re:AMP? by c0lo · · Score: 1

      Because "CUDA" and "GPGPU" are such obvious bits of terminology ... ?

      BOHICA!
      (may I hate you too, along with all the acronyms?)

      --
      Questions raise, answers kill. Raise questions to stay alive.
    17. Re:AMP? by caywen · · Score: 1

      I think picking on the acronym is a nice way to sidestep talking about Microsoft actually doing something cool.

    18. Re:AMP? by slimjim8094 · · Score: 3, Interesting

      To be fair, doing any nontrivial assembly will put some serious hair on your balls. But it's just not very good for (almost*) any real work.

      I use C for performance-critical code, C++ for complex performance-significant components (like a OpenGL million-poly renderer), Java or C# (depending on target platform(s)) for large but otherwise-modest programs, and scripting languages (mostly Python) for one-off programs or little tools that don't justify the involvement of a more heavyweight language.

      Use the right tool for the job, as always. Can't go too far wrong with Java, and if you're going to hit its performance wall, you should know up front.

      * Only large-scale assembly coding I've ever had to do was for a compilers class, but there was obviously no way around it. Fascinating to learn and do, but I sure hope I'm done with it...

      --
      I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
    19. Re:AMP? by Requiem18th · · Score: 1

      Misa dun wanna hear of WISA again.

      --
      But... the future refused to change.
    20. Re:AMP? by c0lo · · Score: 1

      I think picking on the acronym is a nice way to sidestep talking about Microsoft actually doing something cool.

      Sidestepping? Maybe... but I still hate acronyms.

      --
      Questions raise, answers kill. Raise questions to stay alive.
    21. Re:AMP? by Anonymous Coward · · Score: 0

      You got it wrong again !!

      GNU : GNU Needs Users

    22. Re:AMP? by Anonymous Coward · · Score: 0

      No, that's SAG... Slow Unscalable Garbage.

      Acronym fail

    23. Re:AMP? by Joce640k · · Score: 3, Insightful

      How hard is it to write "AMP (Accelerated Massive Parallelism)" in a summary?

      --
      No sig today...
    24. Re:AMP? by TarMil · · Score: 1

      They are sufficiently well established so that there is no need to define them before using them. And they don't collide with anything else.

      Unlike AMP.

    25. Re:AMP? by hedwards · · Score: 1

      Well, that's because PCMCIA.

    26. Re:AMP? by hedwards · · Score: 2

      Yes, but I think the relevant question is: how precisely is it that they kill this one. They have a history of devising cool technology and then managing to fuck it up.

    27. Re:AMP? by Anonymous Coward · · Score: 0

      just a way to disrupt the already established Apache Mysql Php meaning...

      nothing to see here, business as usual..

    28. Re:AMP? by Anonymous Coward · · Score: 0

      actually it's because YMIAI

      (your manager is an idiot...)

    29. Re:AMP? by Anonymous Coward · · Score: 1

      For another example, the casual use of 'SQL' for 'SQL Server'.

    30. Re:AMP? by Inda · · Score: 1

      It's the same in engineering, except they borrow acronyms from the IT world and change their meaning.

      I've just finished editing the final draft of a report. One acronym was "DM", which I assume means "document manager" but now says, thanks to find and replace, dungeon master. Who will notice?

      --
      This post contains benzene, nitrosamines, formaldehyde and hydrogen cyanide.
    31. Re:AMP? by Gothmolly · · Score: 1

      When you have Microsoft's cock in your mouth, its probably pretty difficult. When you just copypasta the article text, instead of you know, editting, then its damn near impossible.

      --
      I want to delete my account but Slashdot doesn't allow it.
    32. Re:AMP? by Octorian · · Score: 1

      Or the casual use of "SQL Server" for "Microsoft SQL Server". (Not to be confused with all the other database products that might handle SQL, and have the phrase "SQL Server" in their full product name.)

    33. Re:AMP? by gatkinso · · Score: 1

      >> * Only large-scale assembly coding I've ever had to do was for a compilers class, but there was obviously no way around it. Fascinating to learn and do, but I sure hope I'm done with it...

      That is odd. In my compilers class the approach taken was : 1) lex/yacc and 2) bootstrapping

      --
      I am very small, utmostly microscopic.
    34. Re:AMP? by daem0n1x · · Score: 1

      Lots of people I know think SQL is a Microsoft product, because of Microsoft SQL Server.

    35. Re:AMP? by dmmiller2k · · Score: 1

      Go figure. I thought it meant asymmetrical multi-processing (as opposed to SMP - symmetrical multi-processing).

      --

      "No matter how cynical you get, it is impossible to keep up." -- Lily Tomlin

    36. Re:AMP? by AmiMoJo · · Score: 1

      I write some fairly large projects entirely in assembler, and many modules that interface with C code. I work with microcontrollers though, not computers. 2k ROM for everything, software and data.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    37. Re:AMP? by Just+Some+Guy · · Score: 1

      Java or C# (depending on target platform(s)) for large but otherwise-modest programs, and scripting languages (mostly Python) for one-off programs or little tools that don't justify the involvement of a more heavyweight language.

      I could see why you'd prefer feature-rich languages that compile into bytecode that runs on a VM to a feature-rich language that compiles into bytecode that runs on a VM. That's smart planning.

      --
      Dewey, what part of this looks like authorities should be involved?
    38. Re:AMP? by Nethemas+the+Great · · Score: 1

      That's just a bunch of S*** Helping Incite Torment

      --
      Two of my imaginary friends reproduced once ... with negative results.
    39. Re:AMP? by slimjim8094 · · Score: 1

      The compiler wasn't written in assembly, but it had to output it and debugging required following large codebases generated from an object-oriented language. That's what I meant... running through 500 lines of assembly to make sure the vtable was properly generated.

      --
      I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
    40. Re:AMP? by slimjim8094 · · Score: 1

      Are you being snarky? Java and C# are significantly faster than Python because they're JIT'd (hopefully this is changing with PyPy). They're also significantly more straightforward to maintain than Python because of their strong type structure. Having a rather-rigid interface is superior for teamwork, but more flexible structure is helpful for the sort of little utilities I was talking about.

      What's your point?

      --
      I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
    41. Re:AMP? by Anonymous Coward · · Score: 0

      For another example, the casual use of 'SQL' for 'SQL Server'.

      For that, we cannot honestly blame Microsoft: it was "Sybase SQL Server" before it was "Microsoft SQL Server". When Sybase and Microsoft stopped working together, Sybase changed the name of their product from "SQL Server" into "Adaptive Server Enterprise" (and got bought by SAP).

    42. Re:AMP? by Just+Some+Guy · · Score: 1

      Yeah, I'm being snarky. I don't see anything inherently different between C#, Java, and Python, other than that Python is dynamically (but still strongly) typed. It's my opinion that duck typing makes for easier maintenance - the point being that both of our positions devolve to personal preference and not objective truth.

      --
      Dewey, what part of this looks like authorities should be involved?
    43. Re:AMP? by slimjim8094 · · Score: 1

      I never claimed to be professing an objective truth regarding the merits of type systems. As I said, I like both. But both Java and C# are faster than Python and Ruby and Perl and JS and so on. People use Java/etc when performance "isn't a huge concern but let's not be ridiculous" (one way I've heard it said).

      I happen to prefer to work on code with others when it's strongly-typed, because I have to dig around less to find what exactly I can do with it rather than letting it fail at runtime. That is personal preference, though I suspect most would agree with me.

      But there are absolutely some objective reasons to avoid the RAD scripting languages. Like I said 4 posts above, "use the right tool for the job"

      --
      I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
    44. Re:AMP? by HappyPsycho · · Score: 1

      Can't you already do this with OpenCL?

      My CPU appears as an OpenCL device just like my graphics card, I can ramp up / switch where it executes the same way.

    45. Re:AMP? by SanityInAnarchy · · Score: 1

      I take a dim view of uppity managers claiming methods like Agile, XP, Scrum and blah blah blah make two shits of a difference when you are not granted autonomy.

      And what about when you are granted a reasonable amount of autonomy?

      It also seems like these things are becoming buzzwords, while forgetting their roots. I find I still agree with the Agile Manifesto, though I'm as skeptical of trendy managers as you are.

      --
      Don't thank God, thank a doctor!
    46. Re:AMP? by EETech1 · · Score: 1

      One of my first production microcontroller projects was 12K of assembly, and my knowledge and understanding of exactly what is happening under the hood increased 100X! It's essential to be unafraid of looking at your compiled projects, and seeing where there are possibilities for optimizations, and more importantly finding bugs and fixing bugs in the library functions you rely on to generate your code.

      I tell you nothing compares to managing those 4 bytes in that long yourself, (every time you need to touch them) and doing things that would be nearly impossible to properly instruct a compiler to do any other way. With a little thought and planning you can organize your memory in ways that dramatically reduce the number of times that pointers need to be reset, and layout your memory where the next variable, or result is located right where it needs to be so that a postincrement after the last read leaves the pointer in the right address to simply read or write the next chunk of data without having to calculate the address, and reload the pointer. You can do some really fun stuff (use different variable types together without conversion) that'll make you proud of your skills instead of wondering how it really all works!

      It's worth it just to try and blink a light on your arduino in assembly! A few nights on the bare metal will teach you lots! Especially if you want to use a debugger or JTAG to follow and fix your next compiled project that's not working how you expect it too!

    47. Re:AMP? by Anonymous Coward · · Score: 0

      How hard is it to write "AMP (Accelerated Massive Parallelism)" in a summary?

      Well, if you're being charged by the character, potentially quite a bit.

    48. Re:AMP? by Just+Some+Guy · · Score: 1

      (Python is strongly typed. :-) )

      --
      Dewey, what part of this looks like authorities should be involved?
  7. Re:Grand Central Dispatch by Anonymous Coward · · Score: 0

    I can't work out whether you:

    Don't know what GCD is and can't understand the wikipedia article you linked
    Don't know what AMP is and can't understand TFS/TFA
    Both

  8. Re:Grand Central Dispatch by BWJones · · Score: 1

    Why not? Care to elaborate? We are talking about a shared memory form of parallelism that automatically assesses system resources and allocated threads to appropriate cores, right?

    --
    Visit Jonesblog and say hello.
  9. Who would be the target customers? by Anonymous Coward · · Score: 1

    Scientific programmers, game and multimedia devs, crypto hackers. Uh oh.

    1. Re:Who would be the target customers? by kelemvor4 · · Score: 3, Insightful

      Them and pretty much anyone who writes c++ code and wants their software to run faster. I suppose if you're interested in having your software run slower, this may not be for you.

    2. Re:Who would be the target customers? by SanityInAnarchy · · Score: 5, Insightful

      Well, assuming your code has embarrassingly parallel components. Otherwise, it's pretty useless.

      --
      Don't thank God, thank a doctor!
    3. Re:Who would be the target customers? by Nikker · · Score: 1

      Stupid comments like yours makes me laugh. Why do you think people are buying this stuff? Why do you think people consciously put their money into GPUs when they build/buy their machines? Why do you think manufacturers make them in the first place? All this stuff happens because we want to take this and make something with it. With this technology even low end electronics will likely have some excellent interactive abilities, low power consumption, etc, etc. If you really have a problem with this kind of stuff buy a calculator. As far as crypto goes it's still not as quick as you think brute forcing even 128 bits from top to bottom and bad security will get hacked by a kid on his Motorolla Razr, don't worry yet about crypto yet when it's easier just to drop a few Bobby Tables then anything else right now anyway.

      --
      A loop, by its nature, continues. If that didn't make sense, start reading this sentence again.
    4. Re:Who would be the target customers? by Billly+Gates · · Score: 1

      "Scientific programmers, game and multimedia devs, crypto hackers. Uh oh."

      The target market is for developers writting software for Windows 8 tablets and netbooks with AMD fusion Llano (and future cousins).

      WIth IE HTML hardware and flash acceleration enalbed by default, a nice GPU will be needed for the gui eye candy and video effects if the cpu is not up to task. GPU speeds with OpenCL are very fast for a dinky integrated low end chip. An integrated ARM processors can use this too if and when they exist as many bash it as not being powerful enough to run Windows 8. AMP is a frameworkf or developers to take advantage of this easier.

      AMD Fusion is SWEET! and of course is sponsoring this event. FYI, the bechmarks above are fully integrated lowest end model in the sub $400 notebook market. The fusion one listed in that link is a slow mobile version that is to compete with the intel ATOM. These units have a ATi 6800 style graphics, which can be much much faster with dual channel DDR ram and perhaps a seperate channel for its own ram? These low end bandwidth starved ones can run starcraft at 30 fps for $400 netbook and fully 1080P HD video. Future ones will compete agaisnt fully loaded $1000 systems with dedicated cards and it will have faster CPUs.

      Also even if it is slow it has multiple cores (4) on the die so AMP will be quite nice as it can use the low power fusion efficiently too while offloading more tasks to the GPU inside it. Since that is integrated into the chip I can imagine it will be much faster for the CPU/GPU to talk to each other even though memory bandwidth is bad.

      I think Intel has some real competition again as I would love to get one of these myself.

      The CPU performance is not the best, but that will matter less if it is cheap and graphics are taken care of. How much CPU do you need to run Word?

    5. Re:Who would be the target customers? by Anonymous Coward · · Score: 0

      Weren't you retired, Bill?

    6. Re:Who would be the target customers? by Anonymous Coward · · Score: 1

      I know too many clusters standing around with people using only the master access node in form of a normal single computer because some higher ups wanted to brag with 'we have our own cluster' while people who could use parallel computing power dont have the grants for one. They even get more funds because they can brag with the computing power they have (not harnessed).

    7. Re:Who would be the target customers? by hedwards · · Score: 1

      I just got a small laptop with one of the AMD Fusian Llano chips and I was pleasantly surprised by how well it performs. I wasn't expecting to be able to do any gaming, but I can game as long as I stick to games from several years back. Which is not bad considering it only has a dual core 1.6ghz processor and an AMD Radeon HD 6310.

      The battery life and performance aren't as good as some of the Intel based ones, but it was a couple hundred dollars cheaper.

    8. Re:Who would be the target customers? by Anonymous Coward · · Score: 0

      With those specs, you don't have a Llano system (the new A-series with the K10+ cores), you have a Brazos system (an E-350 with Bobcat cores, the lower-end chips that came out in January).

      Llano is much more capable from a gaming perspective (particularly for integrated graphics):
      see thi Anandtech review for example.

    9. Re:Who would be the target customers? by kelemvor4 · · Score: 1

      I think it's a whole lot "greyer" than that. True, most applications aren't suited for massively parallel processing but if this improves my application performance by even 1%, why not use it?

    10. Re:Who would be the target customers? by SanityInAnarchy · · Score: 1

      Well, right now, we've only seen a DirectX implementation, so that'd be one reason.

      Another is that it might actually make your application slower, because you now have the synchronization of your multi-core CPU to think about, and synchronizing data to and from the GPU, etc. Alright, yes, this thing abstracts all that away from you, which is cool, but you have to have at least some part of your application which actually gains something from being parallelized.

      And while I don't know the details here, I would guess you still have to do some thinking about where to apply this, and how, and what will work, and what will fail horribly. If nothing else, it's got its own separate syntax.

      Now consider the amount of work it's going to take to figure out if and when you'll get any performance boost, and you're guessing you might get 1%. Compare that to the amount of time you're going to spend on it. Your time might be better served with more traditional forms of optimization -- maybe instead of identifying parts which can run in parallel on the GPU, you want to identify tight loops you can rewrite in assembly.

      I can imagine there would be cases where it would be useless, but I really can't see it being worthwhile to try this on anything you don't already know has something embarrassingly parallel in it. It might be only 1% of your code that's embarrassingly parallel, but you still need to find that. Otherwise, it seems as likely to slow your program down (and waste your time testing it) rather than give you any performance increase.

      --
      Don't thank God, thank a doctor!
  10. Re:Grand Central Dispatch by Saint+Stephen · · Score: 1

    Its been a long time but i know Grand central is a clone of a feature in windows. I cant remember if it is IO Completion Ports (coolest feature in windows) or something else. Whatever it is, windows gots it

  11. Microsoft C++ by Anonymous Coward · · Score: 1

    A while ago their STL allocators were non-standard, I guess now their new will be non-standard too.

    1. Re:Microsoft C++ by Anonymous Coward · · Score: 0

      This the thing that pisses me off about Microsoft--they're always so close and yet so far. They have some great technology. Windows 7 is pretty slick (and I say this as someone who has used various flavors of Linux for over a decade on a regular basis at home and work).

      However, it seems like every time they implement something like this, some innovation that could be standard, they blow it through Windows dependency.

      I got excited about this--buried in different places are references to intents to open it up across different platforms. The more I read, though, the more I got discouraged. ... it's definitely coming in Visual C++, but plans for it outside of that become super vague (http://www.theregister.co.uk/2011/06/15/microsoft_c_plus_plus_amp/). ...it's based on DirectX (http://blogs.msdn.com/b/somasegar/archive/2011/06/15/targeting-heterogeneity-with-c-amp-and-ppl.aspx).

      It's crippled in its platform dependence out of the box.

      C++ is a huge resource to be able to leverage with massively parallel systems, but as progress develops on parallelism in languages like Scala or Go, these sorts of solutions won't have the same mindshare.

    2. Re:Microsoft C++ by Suiggy · · Score: 3, Informative

      That was back with MSVC++ 6.0 released in 1998 before the ISO C++ draft was fully ratified. MSVC++ today is one of the more standards compliant compilers, although their template instantiation mechanism is still somewhat broken so that it can still support their legacy MFC crap.

    3. Re:Microsoft C++ by shutdown+-p+now · · Score: 2

      A "while ago", gcc didn't support C++ namespaces. So?

  12. Re:Grand Central Dispatch by Fudge+Factor+3000 · · Score: 1

    Maybe you meant OpenCL? http://en.wikipedia.org/wiki/OpenCL

  13. Re:Grand Central Dispatch by Daniel_Staal · · Score: 3, Informative

    The most relevant difference is that it automatically uses different types of compute resources for the same task, depending on what's available. Core Image can do some of that, but it's limited to graphics workloads.

    So it's Grand Central Dispatch + Core Image + a bit.

    --
    'Sensible' is a curse word.
  14. Switching? by Anonymous Coward · · Score: 0

    Shouldn't it just use what ever it needs depending on the operation? This is still segregated?

    1. Re:Switching? by SanityInAnarchy · · Score: 1

      It makes for a better demo, I guess, but that'd be my first question too.

      My second question would be whether it's the application which decides where it runs, or the OS -- it seems like now we'll not only need multicore schedulers, but GPU-aware schedulers also, but it's still something I'd like the OS to have a say in. For instance, "We need the GPU for graphics now, so you get routed to the CPU instead."

      I suspect my second question is more naive than my first.

      --
      Don't thank God, thank a doctor!
  15. Normally I would say that too by symbolset · · Score: 4, Insightful

    This is key innovation. It looks like an important new step we've needed for a long time. It looks like they have done well with it.

    Of course it should be inspected for traps. From these folks there are always traps. But this particular time I think this is important enough that we look closely at it to see if there isn't something useful we can safely extract, while being mindful for the traps.

    I've been here a long time. I've posted nearly 5,000 comments here over 8 years. Never once before have I said this about a Microsoft technology: This deserves a look.

    --
    Help stamp out iliturcy.
    1. Re:Normally I would say that too by Anonymous Coward · · Score: 0

      I've been here a long time. I've posted nearly 5,000 comments here over 8 years.

      Oh so that makes you the arbiter of all that is right in the tech community. Good for you.

    2. Re:Normally I would say that too by hedwards · · Score: 2

      I know that 5,000 comments isn't much to you, the one that has posted probably a million comments, but for the rest of us it's quite a bit.

    3. Re:Normally I would say that too by Anonymous Coward · · Score: 5, Interesting

      As someone actually at the event, someone who attended both the keynote and the later (and more in-depth) technical session, and someone who is employed as a GPU programmer, I would say that it's being vastly overblown. It is very easy to look at the examples in the keynote (dense matrix multiplication with very little code modification, and an N-body simulation for which the code is not shared) and believe that this is finally some panacea for the difficulties involved in GPU computing and massively parallel computing in general. But the reality is, much like some approaches before it, C++ AMP simply elides some of the verbosity in the CUDA/OpenCL APIs regarding memory allocation, thread configuration, etc. The matrix multiplication example appears dead simple because matrix multiplication on a GPU is dead simple. As soon as you start trying to write more advanced applications with this, you find that you need to take advantage of a fast shared memory to get worthwhile performance gains -- to do that, you add "tiles" to your "grid" (in CUDA terms, "blocks" and "grid", in OpenCL terms, "local workgroups" and "global workgroup"). As soon as your output starts getting more complicated than a nice, deterministic matrix multiplication or N-body simulation, you may find that you have potential race conditions that you have to address yourself. And when you've broken up your problem into a tiled grid, taken fast local shared memory and slow global shared memory into account, and ensured that you have no race conditions, you've basically done all of the work of writing a CUDA or OpenCL kernel. Only now you've done it in a way that is very proprietary, instead of the (comparatively open) CUDA and (way the fuck more open) OpenCL.

      It's unfortunate that it is being sold as this amazing world-changing breakthrough, because although it is not by any stretch that, it is in fact quite a nice concept. This is something, like Microsoft's PPL, that can be used to parallelize existing code very easily provided the code is parallelizable and written in a parallel-friendly manner. It is not something, however, that will do the work of parallelization or even the work of optimizing parallel-friendly code for GPU hardware for you.

    4. Re:Normally I would say that too by symbolset · · Score: 1

      I only put that to disarm the Astroturfer Defense Brigade (of which group I'm a proud member), not to brag. Lots of people post more, and have been longer than me. But we can't delete our comments so any subscriber need only dig back through that bulk of output and find a comment where I said that before to prove me a liar - and they can throw it in my face ever after. But they can't, because it didn't happen. I'm really, really not a Microsoft fan. I don't like their business practices at all. I haven't used Microsoft products on my personal PC ever, and I've owned a personal PC since 1983. I was a Unix guy until I was a BSD guy until I was a Linux guy, where I've been ever since. And Dammit but writing your own serial print drivers in Linux early on was a pain in the butt. Yeah, I work Windows for money, but it has never been my choice. BTW, I'm nearing 2^8 +5 posts as well. OK, that was bragging.

      I may have had a role in killing the Kin, if that's any evidence of my anti-Microsoft credibility.

      So when I ask, out of the depth of my experience and with the strength of my reputation here for people to look at this it's against my better judgement. It's against my experience. It's alien to me. But this one time I think it's so important to foil this particular trap and extract the bait that if we lose a few in the trap, it was worth it. This bait is that good.

      --
      Help stamp out iliturcy.
    5. Re:Normally I would say that too by PhrostyMcByte · · Score: 2

      An interesting part of AMP is that it is platform-agnostic. Their implementation uses DirectCompute under the hood, but none of that is exposed in the API. This means it could probably be implemented for *nix.

      Believe it or not, Microsoft has also done this a couple other times recently -- with real results -- and it all comes from the native C++ team as part of Microsoft's new-found focus on C++ after so many years in .NET mode.

      The Parallel Patterns Library integrates extremely well. It knows that it's a C++ library and doesn't try to act like a Windows library, and certainly not like a COM library. It's pure, modern C++. So much, in fact, that Intel's Thread Building Blocks provides a compatible implementation that is cross-platform. If AMP ends up being similar, this could indeed be a very cool thing.

    6. Re:Normally I would say that too by The+Master+Control+P · · Score: 2

      I'm a PhD student whose job is currently get an MHD code running on multiple GPUs (getting it to run really fast on /one/ I have not yet quite done), and from my experiences, I sort of figured these were trivially parallel types of things.

      There's only one kind of kernel I deal with that actually gets near full utilization without extensive hand-tuning (i.e. that could be written by a computer without human guidance) - the ones that do simple atomic operations on N input arrays and spits out M output arrays. Everything else takes weeks of agonizing hand-holding, tuning, and the occasional use of percussive maintainence before it gets past 10-20% efficiency. As you say, by the time you've solved the "parallel BS" for any nontrivial problem, you may as well have just written the GPU code yourself.

    7. Re:Normally I would say that too by shutdown+-p+now · · Score: 2

      I have no knowledge of or experience with CUDA or OpenCL (other than the general vague idea of what these are for), so let me clarify something. How easy is it to write a program in either of those that parallelizes across all computational devices available to the system (not just GPU, but also CPU cores), and can change the specific devices being used on the fly, all without recompiling or restarting the binary? My impression from the demo, at least, was that this is the main selling point, rather than it just being easier than OpenCL.

    8. Re:Normally I would say that too by SuperKendall · · Score: 1

      How easy is it to write a program in either of those that parallelizes across all computational devices available to the system (not just GPU, but also CPU cores), and can change the specific devices being used on the fly, all without recompiling or restarting the binary?

      OpenCL on iOS or Mac does that today, it runs the code on the fastest available processor - GPU or CPU.

      If you don't mind going through libraries I believe iOS lets you use the Accelerate framework to do some common computational tasks (like BLAS or Linpack) that use OpenCL underneath.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    9. Re:Normally I would say that too by symbolset · · Score: 1

      You are right. This tech is more about being the choreographer than being the dancer. There might still be some pain in it.

      --
      Help stamp out iliturcy.
    10. Re:Normally I would say that too by shutdown+-p+now · · Score: 1

      OpenCL on iOS or Mac does that today, it runs the code on the fastest available processor - GPU or CPU.

      Can it switch that while the app is running?

      By the way, why not CPU and GPU (or rather all available GPUs) - which would make most sense if you want to squeeze the most from a given hardware.

    11. Re:Normally I would say that too by TheRaven64 · · Score: 1

      How does this compare with HMPP, which provides a way of parallelising C/C++/Fortran code code to run on GPUs and SMP systems via a few pragma directives and is already supported by two shipping compilers (one from PathScale, one from CAPS)?

      --
      I am TheRaven on Soylent News
    12. Re:Normally I would say that too by woboyle · · Score: 1

      New? Not likely. We were doing this with QNX as far back as the 1980's. We used to say that it was the supercomputer that you built one host at a time.

      --
      Sometimes, real fast is almost as good as real-time.
    13. Re:Normally I would say that too by Anonymous Coward · · Score: 1

      OpenCL can be run on most (all?) recent CPUs from Intel and AMD, as well as most (all?) GPUs from nVidia and AMD (including simultaneously), but it does require you to do this (ie, split up the workload) manually and to optimize the kernel for each hardware device (to the extent that you want to optimize) manually. C++ AMP may address the former -- they gave essentially no details on how they ran the N-body simulation on multiple devices, just that they did. As for the latter, that is still very much up to you.

      I would suspect (ie, beyond this point is pure speculation) that they do not greatly simplify the problems involved in running on multiple devices. The same aspects of matrix multiplication and N-body simulation that make them simple (almost "hello world" levels of simplicity, here) problems on the GPU also make them very easy to spread across multiple GPUs.

    14. Re:Normally I would say that too by SuperKendall · · Score: 1

      Can it switch that while the app is running?

      Yes, although I'm not sure how automatic that part is.

      By the way, why not CPU and GPU (or rather all available GPUs) - which would make most sense if you want to squeeze the most from a given hardware.

      That is distinctly possible, though I'm not sure how you'd set it up to do that. But there's nothing preventing you from running OpenCL code on both at once.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
  16. Re:Grand Central Dispatch by exomondo · · Score: 1

    Why not? Care to elaborate? We are talking about a shared memory form of parallelism that automatically assesses system resources and allocated threads to appropriate cores, right?

    GCD is simply an implementation of the thread pool pattern. AMP takes parallel tasks and can seamlessly switch through utilising different computing resources to complete them rather than having to specify those resources and write resource-specific code for them. So no, it isn't like GCD.

  17. Come on! by Anonymous Coward · · Score: 0

    Is this tech news? Things that matter?

    Maybe I became too demanding now that I got old... (cranky?)

    1. Re:Come on! by Midnight+Thunder · · Score: 1

      Is this tech news? Things that matter?

      Maybe I became too demanding now that I got old... (cranky?)

      Well yeah, I was expecting it to make toast too. ;)

      --
      Jumpstart the tartan drive.
    2. Re:Come on! by hoytak · · Score: 1

      In response to your comment, Microsoft just announced the release of the Microsoft Pony(tm) Acquisition Suite. "Pony(tm) is designed to provide developers with a solution oriented roadmap for their every need and desire, as quickly as possible; this is the fulfillment of their every dream," announced Steve Ballmer. Critics, however, denounce Pony(tm) as a ripoff of Eliza, with the phrase "We will provide that within 6 months." inserted liberally in the responses.

      --
      Does having a witty signature really indicate normality?
    3. Re:Come on! by c0lo · · Score: 1

      Is this tech news? Things that matter?

      Maybe I became too demanding now that I got old... (cranky?)

      Matter less for old people: they are supposed to already have established themselves (so they do have time to whinge in /. "How's this new?")

      For the younger generation, this matters more: they will need to know when, next year, they'll submit their resume to a job ad asking for "3 years+ experience in MS Visual AMP++".

      --
      Questions raise, answers kill. Raise questions to stay alive.
  18. Re:Grand Central Dispatch by Midnight+Thunder · · Score: 1

    They are complementary technologies. The best article was the original Snow Leopard review at Ars Technica, which explains the two technologies. Typing from a phone, so can't provide you with the URL for the moment.

    --
    Jumpstart the tartan drive.
  19. I'll give you that by symbolset · · Score: 1, Redundant

    But you admit that there might be something interesting in it. That something is worth investigation.

    --
    Help stamp out iliturcy.
  20. Re:Grand Central Dispatch by inglorion_on_the_net · · Score: 2

    Can't speak for others, but in my case it's

    Don't know what AMP is and can't understand TFS/TFA

    Neither the summary nor the article seem to explain what AMP is.

    For the benefit of everyone else who is trying to figure out, here is a link: Introducing C++ Accelerated Massive Parallelism (C++ AMP) To quote from that page:

    Iâ(TM)m excited to announce that we are introducing a new technology that helps C++ developers use the GPU for parallel programming. Today at the AMD Fusion Developer Summit, we announced C++ Accelerated Massive Parallelism (C++ AMP). (â¦) By building on the Windows DirectX platform, our implementation of C++ AMP allows you to target hardware from all the major hardware vendors. (â¦)

    So, from a cursory look, this seems to be similar in purpose to OpenCL.

    --
    Please correct me if I got my facts wrong.
  21. CUDA C++ and Thrust by gupg · · Score: 2

    This is an awesome development - Microsoft adding support for GPU computing in their mainstream tools and C++.

    Today, CUDA C++ already provides a full C++ implementation on NVIDIA's GPUs:
    http://developer.nvidia.com/cuda-downloads

    And the Thrust template library provides a set of data structures and functions for GPUs (similar in spirit to STL):
    http://code.google.com/p/thrust/

    - biased NVIDIA employee

    1. Re:CUDA C++ and Thrust by Suiggy · · Score: 1

      Hey, any word on getting a new OpenCL 1.1 driver released? I know about the one you folks released last year to registered developers, but it's broken and only works with older GPU drivers. Any hope for OpenCL 1.1 in an upcoming CUDA 4.1 SDK?

    2. Re:CUDA C++ and Thrust by sharp3 · · Score: 1

      I think that the whole point of the presented AMP work is the portability that is possible. As far as I could tell from the presentation, the same executable was used to explore the various hardware configurations on a single machine. It wasn't necessary to recompile for all of the various architectures, unlike when using CUDA when you would utilize an API to move data back and forth from the GPU. This is pretty cool, and I look forward to reading the details that comes out of this. Hopefully Microsoft is kind enough to publish some white papers..

    3. Re:CUDA C++ and Thrust by Anonymous Coward · · Score: 1

      This is an awesome development - Microsoft adding support for GPU computing in their mainstream tools and C++.

      Today, CUDA C++ already provides a full C++ implementation on NVIDIA's GPUs:

      And the Thrust template library provides a set of data structures and functions for GPUs (similar in spirit to STL):

      - biased NVIDIA employee

      And if I need my code to work in a heterogeneous environment, with some NVidia and some AMD GPUs? CUDA doesn't help me there (I don't know if THRUST does). This solves that problem. For all I know, it may solve it possibly by calling CUDA when running on NVidia.

    4. Re:CUDA C++ and Thrust by drewm1980 · · Score: 2

      I am a CUDA C++ programmer. My biggest complaint about programming tools for the GPU is that there are no dense linear algebra libraries that work at the SM level. For my application I had to re-implement a big chunk of BLAS and part of LAPACK from scratch so that each SM runs a different problem instance. On the CPU you can just use openmp + single threaded BLAS to achieve the same granularity of parallelism. Thrust API does not address this granularity of parallelism. I'm eager to see if the AMP API does.

    5. Re:CUDA C++ and Thrust by Anonymous Coward · · Score: 0

      same story. nvidia wants you to use cuda, microsoft wants you to use... amp?. I'll refrain from mocking that.
      I'll just say i'm certainly not going to download the directx sdk (that was already like 500megs of data -i mean.. rubbish- like 10 years ago) to use some gpu computing library that's microsoft-windows-visual-studio-only.

    6. Re:CUDA C++ and Thrust by Anonymous Coward · · Score: 1

      > a full C++ implementation on NVIDIA's GPUs:

      As a C++ programmer, I seriously doubt this. Especially given your second line about "something similar in spirit to STL". If it were full, it should also be able to use the STL. Probably not too smart performance wise, but it should just work.

    7. Re:CUDA C++ and Thrust by jakobX · · Score: 1

      Exactly. On NVIDIA GPUs only. Its just a GPGPUs version of Glide and IMO it will suffer roughly the same fate. (could still be usuful for some projects with a lot of money that would benefit from a more direct to metal approach)

    8. Re:CUDA C++ and Thrust by IRWolfie- · · Score: 1

      then use OpenCL

    9. Re:CUDA C++ and Thrust by Anonymous Coward · · Score: 0

      Does CUDA support *everything* these days? I could take an off the shelf program with recursion, etc and it would work? Or recursive templates even?

    10. Re:CUDA C++ and Thrust by QuasiSteve · · Score: 1

      same story. nvidia wants you to use cuda, microsoft wants you to use... amp?

      Good question.. what happened to DirectCompute? Or is that going to be a layer underneath AMP?

      Either way, OpenCL is what you probably want to be looking at. CUDA = NVidia lock-in, ATi/AMD Stream / APP = AMD/ATi lock-in, DirectCompute/AMP = Microsoft Windows lock-in. Not sure what Intel are pushing these days.

    11. Re:CUDA C++ and Thrust by Bengie · · Score: 1

      Not all video drivers properly support OpenCL. DirectCompute is 100% supported on all DX10+ video cards, so AMP will work on all modern graphics cards, not just some.

      Also, you can use one OpenCL driver at a time, one for a CPU, one for a GPU, one for a fusion.. etc..

      AMP can distribute the same task over ALL devices at the same time. Bit of a difference.

    12. Re:CUDA C++ and Thrust by HappyPsycho · · Score: 1

      Yeah, and OpenCL does all of that and works on something other than windows.

    13. Re:CUDA C++ and Thrust by Anonymous Coward · · Score: 0

      http://blogs.nvidia.com/2011/06/microsoft-going-all-in-on-gpu-computing/

  22. Too bad C++ is a terrible/ugly language by Anonymous Coward · · Score: 0

    I've coded C++ for years... and somehow the parallel code looks even *MORE* cryptic than a regular C++ program.

  23. This could push new hardware by jader3rd · · Score: 2

    I can see this pushing new hardware. More developers start writing with C++AMP, because it lowers the bar of entry for writing code that makes use of the GPU, and before we know it every little application will have some C++AMP. But, a lot of older computers which don't have DirectX 11 graphic cards have to emulate the DirectX DirectCompute API on the CPU, which is noticably glacial. People see an application run blazingly fast on one computer, see it slow on theirs and ask why it's so slow on theirs. Either they find out that they need a new GPU, or figure that they're computers getting old and they need to buy a new one (which would just happen to have a decent GPU in it).

    1. Re:This could push new hardware by Suiggy · · Score: 3, Informative

      [quote]But, a lot of older computers which don't have DirectX 11 graphic cards have to emulate the DirectX DirectCompute API on the CPU[/quote].

      They don't really have to emulate anything, most of the kernel (as in "compute kernel") functions and operations in DirectCompute have a one-to-one mapping with most CPU's SIMD instruction sets, such as x86's SSE/AVX. The primary difference then is that on the CPU you have a lot less cores, and on the GPU you may have thousands of cores/streaming processors, but you have higher memory latencies and at best only a L1 & L2 cache.

  24. AND YET, VS.CURRENT CAN'T KEEP PACE WITH TYPIST !! by Anonymous Coward · · Score: 0

    I can type faster than vs.2011 can follow. Makes you wonder just how much faster everything SHOULD be when MS can't even do that right !! Don't get me started on xaml !! I've typed stuff in there and it still hasn't finished !!

  25. No it doesn't by symbolset · · Score: 1

    The people who know me are swayed directly by how much they respect my knowledge in a given field. The regulars here know me and either respect or disrespect my opinions based on their experience. We've been at this like I said for over eight years and my record is pretty good. The undecided are welcome to subscribe and read every post I've ever made in context these past eight years and make up their own minds. Frankly in the last eight years I've said a few things here I regret.

    I've said quite a few things here. Some of them were prophetic and a few didn't come true yet and may never. Some few were completely wrong. I'm doing better than some.

    I have a bias. It's an anti-Microsoft bias. I don't like them and I never will. It's well documented in nearly five thousand posts on this blog that you can research if you're a subscriber. If you want to know why, read Groklaw's Comes archive or the Halloween documents.

    So why, if I hate them so much, would I point you toward their stuff? It's because despite my obvious, declared, and well documented historical bias, I think this might be some good stuff. If I would set aside my own bias this much, then if it's possible for me to sway you, you could have a look.

    For someone to think that I had converted to the Redmond cult, well it's more plausible my account has been hacked. Frankly that's more likely than I might propose that the devil I've been fighting these eight years might have some interesting candy. But my account's not hacked and this is really me, and the candy looks tasty. Let's be careful about the terms though. The Devil likes to charge a LOT for his candy.

    So if you think I'm not crazy, haven't reached my dotage, and aren't a Microsoft tool, have a good neutral look at The Fine Article and see if there isn't something useful in it.

    --
    Help stamp out iliturcy.
    1. Re:No it doesn't by icebraining · · Score: 1

      With 5000 comments you should know not to feed the trolls.

  26. So it's OpenCL then by SuperKendall · · Score: 3, Informative

    No, it's really a lot more like OpenCL.

    Which is not Mac only BTW... but you can use it in OSX or IOS development.

    Also Apple's Accelerate library (C library) takes advantage of OpenCL for BLAS and Linpack and so on...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:So it's OpenCL then by TheRaven64 · · Score: 2

      OpenCL allows you to write code in a specialised dialect of C that will run on GPUs of (not spectacularly efficiently) on CPUs. A better comparison is HMPP (currently supported by CAPS and PathScale's C/C++ and Fortran compilers), which allows you to annotate sections of code with pragmas and then have the compiler automatically run them on different processing units, including GPUs and other cores on the CPU.

      --
      I am TheRaven on Soylent News
  27. Re:Grand Central Dispatch by TheRaven64 · · Score: 1

    Not really. Microsoft's Concurrency Framework is similar semantically to libdispatch, but a bit more effort to work with. There was some effort to implement the libdispatch APIs on top of the concurrency framework, but I don't know if this ever went anywhere.

    --
    I am TheRaven on Soylent News
  28. Re:Grand Central Dispatch by TheRaven64 · · Score: 1

    The best article was the original Snow Leopard review at Ars Technica, which explains the two technologies

    That article had multiple technical inaccuracies on every single page. If it was the best article that you read, then I can only assume that it was the only article that you read.

    Typing from a phone, so can't provide you with the URL for the moment

    That's probably for the best.

    --
    I am TheRaven on Soylent News
  29. Re:AND YET, VS.CURRENT CAN'T KEEP PACE WITH TYPIST by sourcerror · · Score: 1

    That's because of the stupid scheduler in Windows. Try to run it on Linux.

  30. Yet another attempt at vendor lock-in. by master_p · · Score: 1

    Instead of contributing to open efforts regarding MP, they go on and do their own API. And a few years down the road, where everyone else uses the open API, they will let down their developers by supporting the open API, since it will no longer be viable economically to use their own API any more (like Silverlight/.NET in Windows 8).

    Microsoft, when will you learn your lesson? instead of locking us in, why don't you contribute to the efforts of the community to solve the same problem?

    1. Re:Yet another attempt at vendor lock-in. by Anonymous Coward · · Score: 2, Insightful

      I don t think there are open affords which are attempting to do this by extending C++ compiler.

      Open affords(clearly exclude CUDA) are usually inventing a new language (usually a subset of C). With much restricted language features, and is loosely integrated with host code.

      I think they are the first and they are doing the right things here.
      It is nice to have the host code tightly integrated to the GPU code, and with most of the useful C++ language features there.

  31. Re:AND YET, VS.CURRENT CAN'T KEEP PACE WITH TYPIST by icebraining · · Score: 1

    'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind.' -- Terry Pratchett

  32. Why go Microsoft? by loufoque · · Score: 2

    There are already tons of such tools, most of which are not tied to specific architectures, operating systems, or compilers.

    Really, why would you go Microsoft on this at all? Clusters and supercomputers usually don't even run Windows at all.

    1. Re:Why go Microsoft? by Anonymous Coward · · Score: 0

      You might not be the Microsoft audience. Consider Adobe, which might very well use this C++ extension in Photoshop for Windows. Or developers of video codecs. Parallel programming is no longer the domain of clusters and supercomputers, that's the entire reason for this feature.

    2. Re:Why go Microsoft? by Anonymous Coward · · Score: 0

      Maybe they want to promote more powerful desktop applications that take advantage of the GPU, which Adobe already does via the CUDA interface (very nice for video editing).

      Considering they are targeting GPUs along with CPU cores, desktop applications would seem to be the target.

    3. Re:Why go Microsoft? by Anonymous Coward · · Score: 0

      My computer isn't a cluster or a supercomputer, but it has a GPU in it. You think my GPU isn't worthy of being utilized by more than games?

    4. Re:Why go Microsoft? by Anonymous Coward · · Score: 0

      games could use it

    5. Re:Why go Microsoft? by Anonymous Coward · · Score: 0

      Microsoft is used in plenty of commercial clusters & supercomputers.

      3 of the top 5 TPC-C results: http://www.tpc.org/tpcc/results/tpcc_price_perf_results.asp?resulttype=all&version=5&currencyID=1

    6. Re:Why go Microsoft? by Anonymous Coward · · Score: 0

      Name one that switches _seamlessly_, like Microsoft's AMP does.

    7. Re:Why go Microsoft? by EvilIdler · · Score: 1

      OpenCL and Grand Central Dispatch? GCD allocates threads on whichever cores are necessary, while OpenCL gives you computing resources from whatever is available, based on what you accept. Seems fairly seamless and dynamic to me.

    8. Re:Why go Microsoft? by Anonymous Coward · · Score: 0

      Parallel computing is no longer just in the realm of huge supercomputers -- the computer on your desk / in your pocket has (or will have, soon) multiple CPU's combined with more special purpose computing hardware. Bringing the ability to program that hardware to 'the masses' is pretty huge.

  33. Doesn't look so seemless by gatkinso · · Score: 1

    Based on the code example, it simply looks like they extended cl to include (a form of) nvcc syntax.

    I was hoping they meant a recompile of exiting code would leverage these resources.

    If I want to port all my stuff to CUDA or OpenCL I will do so, and I don't need to lock myself into MS's platform and syntax.

    --
    I am very small, utmostly microscopic.
  34. Wasn't there news that HTML5 was the code for by filekutter · · Score: 1

    Win 8 desktop? So, where will C++ come into the new OS? Don't get me wrong, I am not a programmer, but I am a tad confused. I know the most rudimentary of C++ coding so maybe I"m just whistling dixie in a tube... but does this mean C++ still relevant on the desktop or will there have to be an old Win 95 layering of code?

    --
    I call computer-illiteracy job security
  35. Dammit! by Anonymous Coward · · Score: 0

    Dammit. I thought microsoft was demoing a C++ Asian Massage Parlour!

  36. Re:AND YET, VS.CURRENT CAN'T KEEP PACE WITH TYPIST by terjeber · · Score: 1

    Two things you should do to fix that. Number one, you should try to migrate off that Pentium 4 with 256M of RAM. Secondly you should stop buying software from Phantom Software and Bagles on the corner. There is no such thing as Visual Studio 2011, and I doubt there ever will be.

    Now, if you want to try a really, really slow IDE that is not a figment of your imagination, try Eclipse

  37. Next Gen Direct X by fast+turtle · · Score: 1

    I did RTFM and WTV and caught something most didn't. This is going to be included in the next version of Direct X and looks to be part of Windows 8. Is it any wonder that MS demo'd their latest version of DX on new hardware? Not to me. This doesn't discount the performance level's possible on the new CPU/APU designs both AMD and Intel are pursuing and if MS can include the new DX in Win8-ARM, we should be seeing some damn interesting capabilities in the next couple of years

    --
    Mod me up/Mod me down: I wont frown as I've no crown
  38. Continuing Language Innovations ... by Anonymous Coward · · Score: 0

    Ok, they're going to continue improving their managed C++ ... can we stop crying wolf that they're dropping .Net now?

  39. Re:Grand Central Dispatch by Anonymous Coward · · Score: 0

    This didn't explain it entirely for you?

    "One of the main highlights of the talk was a demo of a C++ AMP application that seamlessly took advantage of all of the compute resources within a few of the various demo systems, from workstations to netbooks. The physics demo seamlessly switched from using CPU, integrated GPU, and discrete GPU resources, showcasing the performance capabilities of each"

    Maybe you're a fucking retard?

  40. AMD? by Anonymous Coward · · Score: 0

    Why is the icon for this topic the AMD logo. It's a Microsoft technology announced at an AMD conference. Will it not run on Intel or nVidia chips?

  41. C++ AMP presentations online by Anonymous Coward · · Score: 0
  42. New lamps for old! by symbolset · · Score: 1

    Get your shiny new lamps here. New lamps for old!

    --
    Help stamp out iliturcy.