AMD launches Kaveri processors aimed at starting a computing revolution
venturebeat.com
venturebeat.com
* http://semiaccurate.com/2013/11/11/amd-charts-path-java-gpu/
* http://www.oracle.com/technetwork/java/jvmls2013caspole-2013...
* http://developer.amd.com/community/blog/2011/09/14/i-dont-al...
* http://openjdk.java.net/projects/sumatra/
It is intended that the GPU will be used transparently by Java code employing Java 8's streams (bulk collection operations, akin to .Net's LINQ), in addition to more explicit usage (compile Java bytecode to GPU kernels).
Graal/JVM (like pypy) is a really nice way to bring many languages to advanced VM's. See for example node.jar/nashorn/"fast js on the jvm" or Topaz and Truffle (Ruby on pypy and graal/jvm)
http://en.wikipedia.org/wiki/PicoJava
http://news.cnet.com/2100-1001-237302.html
http://www.javaworld.com/article/2077295/sun-s-picojava-i-co...
Somehow, Sun aborted that plan, but the JIT became farter now. But I still don't get it why it has anything to do the AMD's new APU?
It is fascinating for me how FPUs were "always" co-processors but GPUs only recently managed to get to that point. Having GPUs on the same side of the MMU/Cache as processors is pretty awesome. I wonder if that continues though what it means for the off chip GPU market going forward.
100% Fullack! I too remember the Co-Processors. Do you remember those giant ISA slots, which had math's co-processors that helped some scientists boost their code? =) awe.. and the beloved Turbo Button on your Tower, hehe. Makes me wonder if our Mimzy [1] from the future will have an Intel inside too. Back then, it was a 100% sure bet that Intel would live forever and grow to the largest company on earth. Today things are different, a little company coming up with self-assembling nano-materials and an optical, neuronal, graphene or silicene chip design could beat Intel quite fast. What would hold them back is only the time required for the OS landscape to become more adaptive to the hosting hardware. I see that future in my living time.
I'm also thinking about Bitcoin mining with this rig, or do you know something better? (Those damn ASICS...)
--
From a systems architecture perspective it is interesting to compare this to the Intel Larrabee project (lots of parallel cores) but that seems to me to have suffered a similar coding challenge that the Cell architecture has.
[1] http://en.wikipedia.org/wiki/Larrabee_(microarchitecture)
[1] http://www.amazon.com/Cracking-Des-Encryption-Research-Polit...
The 8089 was a total flop relative to its development cost and Andy Grove declared Intel would not do any more Graphics or I/O processor chips. (I was the Systems Validation Engineer on the 80782 at the time, so much for my project!) As it turned out I think it was just too early for a specialized co-processor.
If that's too late for your tastes, look at the nearly universal support chips for 8080/z80 like DMA. Possibly one could count UART and PIO too.
But Moore's Law kept killing them, and eventually it became common wisdom that such was the case, so they faded.
Over a long time period, external devices to offload the primary cpu come and go, under different guises, as Ivan Sutherland noticed already in 1968.
Intel's 8089 and related may have been partially motivated by the success of IO processors in the mainframe and supercomputer world in the 1960s and later.
P.S. Hi Chuck :)
I'm personally hoping that not only will we get to see more effective medicines in less time, maybe some chemistry research professors will get to go home sooner to spend time with their kids.
[1] http://www.ks.uiuc.edu/Research/gpu/
[2] http://semiaccurate.com/2013/11/11/amd-charts-path-java-gpu/
Which is to say that when you're seeing progress more quickly, you'll spend more hours working on the problem, not less.
Determining whether this is good or bad is left as an exercise to the reader :)
I'm rather ignorant about this area of research, but it always seemed to me kinda fruitless? Sorta like high throughput screening - a ton of resources and computation is dedicated because it sounds like a good idea... but ultimately there is very little to show for it all.
Way too little signal and way too much noise.
Scroll down to Examples.
http://www.youtube.com/watch?v=PGqCeSjNuTY&t=50m27s
If you can't see a difference between that and say, X-Ray crystallography then well..
Imatinib[1] is a good, and pretty old example:
Imatinib was developed by rational drug design. After the Philadelphia chromosome mutation and hyperactive bcr-abl protein were discovered, the investigators screened chemical libraries to find a drug that would inhibit that protein. With high-throughput screening, they identified 2-phenylaminopyrimidine. This lead compound was then tested and modified by the introduction of methyl and benzamide groups to give it enhanced binding properties, resulting in imatinib
High-end on-chip GPU's can compete with midrange off-chip GPU's.
And in case you were, like me, wondering about how much the new AMD CPUs improve on improve on their predecessors' single-thread performance you can find some benchmarks at http://www.anandtech.com/show/7677/amd-kaveri-review-a8-7600....
Setting up Catalyst and getting my ATI Radeon cards to work properly in a linux setup is probably my least favorite step in setting up a linux computer.
"However, when the X.Org Server started, the screen remained black and nothing appeared ever on the display nor was anything outputted to the X.Org Server log after reporting it was using RadeonSI and initializing GLAMOR. This was with the Mesa 10.0.1 driver packages in Ubuntu 14.04. Lastly, I tried adding in Mesa from Git master (Mesa 10.1-devel) but here when launching the X.Org Server and going with GLAMOR for 2D acceleration, there was a segmentation fault."
[1]: http://www.phoronix.com/scan.php?page=news_item&px=MTU3MTE
[2]: http://www.phoronix.com/scan.php?page=article&item=amd_kaver...
Sure, you probably can't fix the screen tearing. And their VDPAU equivalent isn't the greatest. But getting up and running? It's always been really easy.
pacman -S xf86-video-ati
...but it doesn't actually work. The card doesn't get used to it's full potential. Which two commands are you talking about?
Also, you can change your power profiles and specify a few custom configs.
But typically open source drivers are still not as good as proprietary regarding 3d support.
If you pick up a packaged CPU, you can't see this surface unless you rip the package apart. In a package, this surface is mounted face down on a tiny PCB which connects the wires to pads or pins for the socket that the CPU is inserted into, and also, a metal lid is slapped on top of the silicon chip (with thermal paste in between). Then a heatsink is slapped on top of the metal lid.
Teal rectangles on right (in between squares): L2
Orange mass on left: GPU
Blueish rectangle on bottom: DDR interface (?) Possibly L3, I forget if these actually have L3.
Specifically I'm dealing with compile workloads here: compiling the Linux kernel on my Haswell desktop CPU is almost a 4x speedup over an AMD Bulldozer CPU I used to have. I used to think people exaggerated the difference, but they don't: Intel is really that much better. And the Haswells have really closed the price gulf.
No one will beat Intel at their own game competitors need to keep them going sideways.
Every single time you change a process in anyway, millions of dollars of equipment - minimum - is being ripped out, retooled and replaced. And that's fine, because this industry is all about economies-of-scale, but it means Intel has a huge advantage: they can build more chips. As in, they can convert several fabrication lines to build chips, and simply have more out the door and on the market then their competitors, which means they can afford a price drop which other people can't - because they need to pay for the upkeep, running and loans to build those fab plants in the first place.
Intel is focusing on power and GPU because that's where the gains are to be had and what the market needed, and because they have to - current gen high-end CPUs have more thermal output density then a stove hotplate. Power use had to drop to have any hope of running higher performance into the future, and anyone hoping to compete has the exact same problems to contend with. And since new battery technology isn't happening, mobile has to find power savings on the demand side.
The speedup was similar but slightly less when $number_of_cores included hyperthreads (or whatever AMD calls them), as I recall. I don't have the Bulldozer machine to play with anymore ,unfortunately.
The major difference between an Amiga and a PC (which was essentially "cpu only") was that the Amiga had a chipset with some units that were somewhat programmable.
In Amiga, you had the choice between using the CPU, the Copper or the Blitter for certain tasks, e.g. a memset or a memcpy might have been faster to do using the facilities of the chip set, which had direct access to memory.
Similarly, at work we are often making a choice which unit of the SoC (cpu, gpu, copy engine) should be used for a particular task, e.g. a big memset, an image blit or perhaps an alpha blend. Like the OCS chip set in the Amiga, all these various units on modern SoCs have direct access to physical memory.
My educated guess is that most computers will be based on some kind of SoC architectures very soon. There are some experiments being done in putting the DRAM silicon in the same package as the SoC and it may be that in the future, 99% of your computer is just a single silicon chip and the motherboard is there only to connect to peripheral devices.
This sentence would have been so much better off if they'd just punted on the weak explanation of "transistor" and left it to anyone unsure to look it up.
And then there is the song... :)
The other hypothesis is that kaveri is from the Yiddish חבֿר (khaver), which is a direct loan from Hebrew.
From wikipedia, Individual mother tongues in India number several hundreds;[9] the 1961 census recognized 1,652[10] (SIL Ethnologue lists 415). According to Census of India of 2001, 30 languages are spoken by more than a million native speakers, 122 by more than 10,000
All that aside, I'm curious to know about the origin of this name.
I wish Nvidia would drop Cuda and focus on openCL already, and stop having such a Not Invented Here mentality.
I wish Nvidia would use Miracast already, and stop having such a Not Invented Here mentality. (with regards to their proprietary game streaming)
I wish Nvidia would push edp (/ displayport 1.4 variable refresh) instead of their in-house proprietary gsync already, and stop having such a Not Invented Here mentality.
I wish Nvidia would standardize unencumbered physx, and stop having such a Not Invented Here mentality.
I still remember their rhetoric about open standards and how they are good for consumer and that's why we should purchase their GPU's and that's why game developers shouldn't use just Glide.
Somehow I feel like I was tricked by them. As I was in my early teens back then I was somewhat naïve and thought they were serious. Oh how wrong I was.
It's nice to read a tech article about a new tech that is available now, and not in an unknown point in the future.
[1] http://developer.amd.com/community/blog/2013/10/18/amd-gpu-3...
I ask so because, for the past decade or so, I've been using Intel CPUs and GPUs exclusively for their excellent Linux support. If AMD can provide the same or better level of support, I'd consider switching.
And since its radeonSI based, you don't have opengl past 3.1 or opencl, and you won't likely ever see the bulleted features like Mantle or TrueAudio.
Though, on the other side of the isle, Intel just got support for opengl 3.3 in their driver, and they don't support opencl at all on their IGP parts.
The only real toss between them when comparing gpu freedom is that Intel uses wholly foss drivers while AMD ships proprietary boot firmware that they have staunchly opposed getting rid of.
Then again, AMD supports coreboot on all their chipsets and don't use proprietary signed microcode payloads on their cpus. And even in the driver space, Intel ships firmware blobs for their wireless NICs, so they aren't saints there either.
And Intel pushed uefi, which is such a colossal PITA that makes me angry on any board I've dealt with it on. And even when Google pressures them into coreboot support on some boards only for Chromebooks, they still use firmware blobs so obfuscate the chipset anyway.
Though Intel is pushing Wayland forward, mostly for Tizen, but still they are paying a lot of Wayland devs, which is a good thing. AMD participates in kernel development, but not nearly as much as Intel. Then again, Intel is a magnitude larger company and has wiggle room on their budgeting since they are dominate the industry so much with their ISA stranglehold, so I have to give AMD some credence there.
In the end neither company is "great' for open source while the other is bad. They both do good and evil in the ecosystem (unlike Nvidia, where publishing 2d documentation is supposed to be good enough). I try to support amd when I can, if I have just an "A or B without preference" choice, since they are the underdog. Also, they produce a lot more open standards - they pushed opencl, they are supporting edp for variable refresh screens, etc - whereas Intel keeps making proprietary technologies only for their stuff like smartconnect or rapid storage.
Though some recent AMD technologies like TrueAudio and Mantle haven't been open at all, so once again, it is a toss.
They'd make a fortune.
Then they need to change quantum mechanics so they could cool 4 300w 300mm die packages on one pcb without liquid nitrogen or liquid epeen.
Sounds pretty expensive.
Vendors are pretty tight-lipped about yield, though, and your other points stand as well, obviously.
Are these not the same sort of AMD APU chips used in the PS4, i.e. the PS4 chips already have HSA?
According to the following article, The PS4 has some form of Jaguar-based APU: http://www.extremetech.com/extreme/171375-reverse-engineered...
The question is, what are those compute bound workloads? I'm not persuaded that there are too many of them anymore, and the real bottleneck for some time with most problems has been I/O. This even extends to GPUs where fast memory makes a huge difference.
Lack of bandwidth has ended up being the limiting factor for every program I've written in the last 5 years, so my hope is while this is great for compute now the programming models it encourages us to adopt can help us work out the bandwidth problem further down the road.
Still, this is definitely the most exciting time in computing since the mid 80s.
The bottlenecks in the problems themselves shouldn't be underestimated though. Some types of problems are intrinsically difficult or outright impossible to reformulate so as to take advantage of vectorized processing.
That being said, there are a lot of other problems which do. I'm quite enthusiastic about this.
The integrated GPUs make sense from a mass market, basic user point of view. The demands are not high.
But for enthusiasts, even if the on die GPU could theoretically perform competitively with discrete GPUs (which is nonsensical if only due to thermal limits), discrete GPUs have the major advantage of being independently upgradeable.
Games are rarely limited by CPU any more once you reach a certain level. But you will continue to see improvements from upgrading your GPU, especially as the resolution of monitors is moving from 1920x1200 to 2560x1440 to 3840x2400.
This makes it almost pointless in my opinion as you can get a discrete card that is more powerful on its own then the combination for not much more money.
I'd say this is perfect for Android, especially since it deals with 3 architectures at once: ARM, x86, MIPS (which will probably see a small resurgence once Imagination releases its own MIPS cores and on a competitive manufacturing process), and AMD is already creating a native API for JVM, so it's probably not hard to do it for Dalvik, too. It would be nice to see support for it within a year. Maybe it would convince Nvidia to support it, too, with their unified-memory Maxwell-based chip next year, instead of trying to do their own thing.
Do AMD even have Android drivers, or are they just using their Mesa or Catalyst one? Even then, why not just contribute HSA support to the kernel / their drivers?
1: The one demo of Mantle I have seen so far[1] says they are GPU bound in their demo, even after underclocking the CPU processor.
2: Kaveri supports Mantle, but claims to be about 24% faster than Intel HD processors, which are decent, but hardly in the ballpark of the type of powerful graphics cards used in the demo.
So combining those two, aren't these two technologies trying to pull in different directions?
[1] Somewhere around the 26 minute mark: http://www.youtube.com/watch?v=QIWyf8Hyjbg
Saying We are GPU bound even when we underclock the processor is attempting to illustrate how cheap Mantle makes issuing tons of instructions to the GPU. Mantle doesn't make the GPU faster, it makes submitting tasks to the GPU faster in terms of CPU-time.
Yeah the HW supports them but before the drivers are actually out (HSA drivers are supposedly out at Q2 2014) nothing fancy can be done. It'll probably be at end of 2014 until the drivers are performant and robust enough to be of actual use.
I was fairly dispassionate until the last paragraph. My last Athlon (2003-ish) system included fans that would emit 60dB under load. Even if I haven't gotten exactly the progress I would have wanted, I have to admit that consumer kit has come a long way in a decade.
The main innovation here is a tightly coupled cpu and gpu memory space. Prior to this, CPU and GPU mem were separate. To get data into the GPU (and out), it had to be shoved under the door via DMA. To maximize this, some Cell-like scheduling could be used....
But now, CPU and GPU share the same memory. e.g. malloc(1<<20) and either GPU or CPU can work on that buffer! No crazy scheduling needed. Also, the cache can be configed so both CPU and GPU access share it.
This is literally a CPU, with a GPU, with a cache coherent memory bus.
The Cell on the other hand is a PowerPC unit, mated with a few Vector FPU units, with no direct memory access. Then a seperate MMU is setup that's able to handle DMA copy's for everything.
[1] http://www.catb.org/jargon/html/W/wheel-of-reincarnation.htm...
http://www.amd.com/us/products/technologies/dual-graphics/pa...
Of course it has all the issues of multi-GPU setup, so ymmv
You mean for a hash table? I don't think you'll be seeing that any time soon. Hash computation will almost certainly be faster on the primary cpu then just the scheduling and waiting overhead. And then the GPU isn't particularly good at any pointer chasing required for the rest of the lookup.
http://www.engadget.com/2013/01/07/amd-temash-kabini-richlan...