Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Microsoft Demos C++ AMP At AMD Developers Summit

samzenpus posted more than 3 years ago | from the take-a-look-at-this dept.

AMD 187

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."

cancel ×

187 comments

Sorry! There are no comments related to the filter you selected.

Nope (-1, Troll)

Anonymous Coward | more than 3 years ago | (#36458182)

Fuck Microsoft!

Normally I would say that too (4, Insightful)

symbolset (646467) | more than 3 years ago | (#36458458)

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.

Re:Normally I would say that too (0)

Anonymous Coward | more than 3 years ago | (#36458564)

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.

Re:Normally I would say that too (2)

hedwards (940851) | more than 3 years ago | (#36458594)

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.

Re:Normally I would say that too (1)

symbolset (646467) | more than 3 years ago | (#36458746)

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 [reddit.com] , 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.

No it doesn't (1)

symbolset (646467) | more than 3 years ago | (#36459466)

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.

Re:Normally I would say that too (5, Interesting)

Anonymous Coward | more than 3 years ago | (#36458618)

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.

I'll give you that (1, Redundant)

symbolset (646467) | more than 3 years ago | (#36458794)

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

Re:Normally I would say that too (2)

The Master Control P (655590) | more than 3 years ago | (#36459428)

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.

Re:Normally I would say that too (2)

shutdown -p now (807394) | more than 3 years ago | (#36459588)

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.

Re:Normally I would say that too (2)

PhrostyMcByte (589271) | more than 3 years ago | (#36458870)

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.

Where's my C# version? (1)

Dan9999 (679463) | more than 3 years ago | (#36458190)

yeah, that's all I wanted to know.

Re:Where's my C# version? (3, Funny)

exomondo (1725132) | more than 3 years ago | (#36458212)

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

Re:Where's my C# version? (1)

luke923 (778953) | more than 3 years ago | (#36459158)

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.

Re:Where's my C# version? (0, Troll)

pnewhook (788591) | more than 3 years ago | (#36458360)

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

Re:Where's my C# version? (1)

kelemvor4 (1980226) | more than 3 years ago | (#36458416)

Correct!

Re:Where's my C# version? (0, Flamebait)

rubycodez (864176) | more than 3 years ago | (#36458522)

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.

Re:Where's my C# version? (0)

Anonymous Coward | more than 3 years ago | (#36458632)

Java is equally garbage.

Re:Where's my C# version? (2)

c0lo (1497653) | more than 3 years ago | (#36458788)

Java is equally garbage.

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

Re:Where's my C# version? (0)

Anonymous Coward | more than 3 years ago | (#36458836)

Java is equally garbage.

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

If only it could collect itself.

Re:Where's my C# version? (2)

c0lo (1497653) | more than 3 years ago | (#36458940)

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 :)

Re:Where's my C# version? (1)

luke923 (778953) | more than 3 years ago | (#36459068)

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

Re:Where's my C# version? (1)

Requiem18th (742389) | more than 3 years ago | (#36458918)

Java is equally garbage.

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

What about Vala?

Re:Where's my C# version? (0)

Anonymous Coward | more than 3 years ago | (#36458656)

Move on to what? The fucking retarded .NET?

Re:Where's my C# version? (1)

c0lo (1497653) | more than 3 years ago | (#36458812)

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

Re:Where's my C# version? (0)

Anonymous Coward | more than 3 years ago | (#36459134)

C# is standard, retard.

Re:Where's my C# version? (1)

Anonymous Coward | more than 3 years ago | (#36458526)

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

Re:Where's my C# version? (1)

Suiggy (1544213) | more than 3 years ago | (#36459082)

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.

Grand Central Dispatch (-1, Offtopic)

BWJones (18351) | more than 3 years ago | (#36458208)

Oh, like Grand Central Dispatch from Apple?
http://en.wikipedia.org/wiki/Grand_Central_Dispatch [wikipedia.org]

Re:Grand Central Dispatch (1)

exomondo (1725132) | more than 3 years ago | (#36458234)

Oh, like Grand Central Dispatch from Apple?

No, not really like that at all.

Re:Grand Central Dispatch (1)

BWJones (18351) | more than 3 years ago | (#36458328)

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?

Re:Grand Central Dispatch (3, Informative)

Daniel_Staal (609844) | more than 3 years ago | (#36458390)

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.

Re:Grand Central Dispatch (1)

exomondo (1725132) | more than 3 years ago | (#36458512)

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.

Re:Grand Central Dispatch (1)

uofitorn (804157) | more than 3 years ago | (#36458242)

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.

Re:Grand Central Dispatch (1)

the linux geek (799780) | more than 3 years ago | (#36458282)

Nope. Not remotely similar. Thanks for playing though.

Re:Grand Central Dispatch (0)

Anonymous Coward | more than 3 years ago | (#36458322)

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

Re:Grand Central Dispatch (2)

inglorion_on_the_net (1965514) | more than 3 years ago | (#36458930)

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) [msdn.com] 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 [wikipedia.org] .

Re:Grand Central Dispatch (1)

Saint Stephen (19450) | more than 3 years ago | (#36458356)

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

Re:Grand Central Dispatch (1)

Fudge Factor 3000 (572132) | more than 3 years ago | (#36458384)

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

Re:Grand Central Dispatch (1)

Midnight Thunder (17205) | more than 3 years ago | (#36458544)

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.

Great! (0)

Anonymous Coward | more than 3 years ago | (#36458210)

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

AMP? (5, Insightful)

c0lo (1497653) | more than 3 years ago | (#36458316)

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"

Re:AMP? (5, Insightful)

Alex Belits (437) | more than 3 years ago | (#36458358)

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".

Re:AMP? (1)

SanityInAnarchy (655584) | more than 3 years ago | (#36458608)

I have to imagine that was also behind XP.

Re:AMP? (0)

Anonymous Coward | more than 3 years ago | (#36458814)

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...

Re:AMP? (1)

c0lo (1497653) | more than 3 years ago | (#36458614)

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>

Re:AMP? (0)

Anonymous Coward | more than 3 years ago | (#36458884)

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

Re:AMP? (2, Insightful)

phantomfive (622387) | more than 3 years ago | (#36458662)

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: ..........

Re:AMP? (-1, Troll)

Dwedit (232252) | more than 3 years ago | (#36458776)

The worst invented name is the ".NET Assembly". It lets scripting language programmers pretend that they are using Assembly in some way.

Re:AMP? (2)

koreaman (835838) | more than 3 years ago | (#36458832)

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.

Re:AMP? (3, Interesting)

slimjim8094 (941042) | more than 3 years ago | (#36458924)

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...

Re:AMP? (1)

Anonymous Coward | more than 3 years ago | (#36459574)

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

Re:AMP? (1)

kelemvor4 (1980226) | more than 3 years ago | (#36458428)

It's also a pseudo energy drink!

Re:AMP? (2)

Jeffrey_Walsh VA (1335967) | more than 3 years ago | (#36458490)

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

Re:AMP? (2)

IQgryn (1081397) | more than 3 years ago | (#36458540)

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

Re:AMP? (2)

Midnight Thunder (17205) | more than 3 years ago | (#36458552)

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

Re:AMP? (0)

MightyMartian (840721) | more than 3 years ago | (#36458888)

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

Re:AMP? (0)

Anonymous Coward | more than 3 years ago | (#36459108)

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

Acronym fail

Re:AMP? (1)

Requiem18th (742389) | more than 3 years ago | (#36458936)

Misa dun wanna hear of WISA again.

Re:AMP? (2)

overlordofmu (1422163) | more than 3 years ago | (#36458634)

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

Re:AMP? (1)

c0lo (1497653) | more than 3 years ago | (#36458680)

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

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

Re:AMP? (0)

Anonymous Coward | more than 3 years ago | (#36459038)

You got it wrong again !!

GNU : GNU Needs Users

Re:AMP? (1)

jsac (71558) | more than 3 years ago | (#36458824)

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

Re:AMP? (1)

c0lo (1497653) | more than 3 years ago | (#36458908)

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

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

Re:AMP? (1)

hedwards (940851) | more than 3 years ago | (#36459228)

Well, that's because PCMCIA.

Re:AMP? (0)

Anonymous Coward | more than 3 years ago | (#36459560)

actually it's because YMIAI

(your manager is an idiot...)

Re:AMP? (1)

TarMil (1623915) | more than 3 years ago | (#36459204)

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.

Re:AMP? (1)

caywen (942955) | more than 3 years ago | (#36458920)

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

Re:AMP? (1)

c0lo (1497653) | more than 3 years ago | (#36458972)

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.

Re:AMP? (2)

hedwards (940851) | more than 3 years ago | (#36459238)

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.

Re:AMP? (3, Insightful)

Joce640k (829181) | more than 3 years ago | (#36459188)

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

Re:AMP? (0)

Anonymous Coward | more than 3 years ago | (#36459552)

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

nothing to see here, business as usual..

Who would be the target customers? (1)

Anonymous Coward | more than 3 years ago | (#36458350)

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

Re:Who would be the target customers? (3, Insightful)

kelemvor4 (1980226) | more than 3 years ago | (#36458434)

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.

Re:Who would be the target customers? (5, Insightful)

SanityInAnarchy (655584) | more than 3 years ago | (#36458612)

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

Re:Who would be the target customers? (1)

Nikker (749551) | more than 3 years ago | (#36458744)

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.

Re:Who would be the target customers? (1)

Anonymous Coward | more than 3 years ago | (#36459168)

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).

Re:Who would be the target customers? (1)

Billly Gates (198444) | more than 3 years ago | (#36458772)

"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! [tomshardware.com] 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?

Re:Who would be the target customers? (0)

Anonymous Coward | more than 3 years ago | (#36458874)

Weren't you retired, Bill?

Re:Who would be the target customers? (1)

hedwards (940851) | more than 3 years ago | (#36459258)

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.

Microsoft C++ (1)

Anonymous Coward | more than 3 years ago | (#36458364)

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

Re:Microsoft C++ (0)

Anonymous Coward | more than 3 years ago | (#36458840)

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.

Re:Microsoft C++ (3, Informative)

Suiggy (1544213) | more than 3 years ago | (#36459060)

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.

Re:Microsoft C++ (2)

shutdown -p now (807394) | more than 3 years ago | (#36459254)

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

Switching? (0)

Anonymous Coward | more than 3 years ago | (#36458414)

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

Re:Switching? (1)

SanityInAnarchy (655584) | more than 3 years ago | (#36458628)

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.

Come on! (0)

Anonymous Coward | more than 3 years ago | (#36458528)

Is this tech news? Things that matter?

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

Re:Come on! (1)

Midnight Thunder (17205) | more than 3 years ago | (#36458562)

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. ;)

Re:Come on! (1)

hoytak (1148181) | more than 3 years ago | (#36458738)

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.

Re:Come on! (1)

c0lo (1497653) | more than 3 years ago | (#36458762)

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++".

CUDA C++ and Thrust (2)

gupg (58086) | more than 3 years ago | (#36458966)

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 [nvidia.com]

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/ [google.com]

- biased NVIDIA employee

Re:CUDA C++ and Thrust (1)

Suiggy (1544213) | more than 3 years ago | (#36459140)

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?

Re:CUDA C++ and Thrust (0)

Anonymous Coward | more than 3 years ago | (#36459656)

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.

Re:CUDA C++ and Thrust (1)

sharp3 (1195261) | more than 3 years ago | (#36459180)

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..

Re:CUDA C++ and Thrust (1)

Anonymous Coward | more than 3 years ago | (#36459310)

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.

Re:CUDA C++ and Thrust (2)

drewm1980 (902779) | more than 3 years ago | (#36459328)

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.

Too bad C++ is a terrible/ugly language (0)

Anonymous Coward | more than 3 years ago | (#36458976)

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

This could push new hardware (2)

jader3rd (2222716) | more than 3 years ago | (#36459040)

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).

Re:This could push new hardware (3, Informative)

Suiggy (1544213) | more than 3 years ago | (#36459112)

[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.

AND YET, VS.CURRENT CAN'T KEEP PACE WITH TYPIST !! (0)

Anonymous Coward | more than 3 years ago | (#36459150)

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 !!

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>