shriver
If that's correct I'd love to see the cost of making the trip between the modules. I've got to imagine the cost of that is just huge. The interconnect is also crazy - it's easy to do complex routing tasks on silicon at high performance. I don't know how you acheive that in a scalable fashion between silicon.
Do you want me to think you're a credulous idiot? Because this is how you acheive that.
Okay, so laying aside the bizarrely stereotypical tech journalism. From what I understand there are a number of problems with this that need addressing:
If you create a custom compute unit layout for a specific data flow diagram it's very difficult to identify which layout is most efficient, and then when you want to optimize for higher performance it's almost impossible - because you don't know what you're targetting. It may be your optimization pushes your design to a different layout completely and all the cost functions are impossible to know. You end up with too many free variables to optimize for. We're very good at taking a fixed design like a CPU and then taking a program and jamming it in to that paradigm.
The second problem is that either you need 1 architecture that will dynamically reconfigure to different graphs or you needs lots of architectures. They seem to be going for the 'Spin 100 designs' path -so firstly, how is a customer meant to know which of those designs to actually buy, what happens if their design evolves from 1 design to another? Secondly, how is this cost effective? There's a good reason why Intel only spins a handful of designs per CPU generation.
The third problem is that if you have a custom compute unit layout and your program doesn't fit to it well it's not like a CPU. You can't re-order operations to maximally use the units, the bits that aren't useful are just dead silicon - and from history it seems like the killer is that dead silicon tends to be a LOT of silicon for any given program.
To be honest, this is a very well understood problem, and there are good reasons why it hasn't worked so far, and this article doesn't really give us any information on why it would work this time.
If you leave, you have literally none of those downsides, you've still got a good career and you can go off to one of the many other companies that are just as successful without those downsides.
So to speak up you need to be incredibly principled AND you have to have some very deep stake in making THIS particular multinational corporation better. I think it makes perfect sense not to speak out for the vast majority of people.
That charge cannot POSSIBLY be 30% of sales. Not least because the cost of checking the apps that go into the App store is not in any way related to the revenue the app generates.
The charges for appearing in the store come from Google (a monopoly in the smartphone market in most places) rent-seeking.
There is nothing stopping Google and Apple charging a fixed fee for the cost of verifying the quality of submissions to the App store. The 30% is just pure rent-seeking, and frankly now it's monopolistic on Google's side.
All too often I've seen people set design goals when they don't understand the underlying problem. If jobs had targeted building an iPod that was physically smaller than the current smallest hard disk available he'd have been in this position.
The first is that self-driving is super difficult, they don't really have the expertise, and a lot of their progress seems to have come from being able disregard proper safety procedures. So to move forward with it they'd need to fess up to investors that it'll take much longer than anticipated and it'll be much more expensive. That'll damage the company value significantly, and it's not really relevant to what the core of the business is doing right now. I actually find it fascinating - Uber has built an app that disrupts the traditional taxi marketplace. Separate to that they've got a division working on a produce to disrupt Uber's current market place.
The second problem is that if they choose not to do autonomous driving their entire business proposition needs re-establishing. Can they actually make money doing what they're currently doing? Or are they doomed to sink huge venture capital sums into acquiring market shares, only to fail to reach a dominant enough position to actually raise prices and make bank. And part two to that question: Can they achieve that profitability and a good enough return to be worthwhile for investors before someone who does succeed in disrupting the taxi business with self-driving cars.
I don't know how anyone could read this and not realise that's a direct search for a replacement CEO. With the best will in the world, Musk has a dozen people at Tesla who COULD pick up some of the slack, the issue isn't not having the right people, the issue is that he won't hand anything off. I don't see that changing.
Now I don't know what the Australian system is like but in the UK we have an insurance company from whom you can get 2-4-1 vouchers every tuesday if you're a subscriber. Well that solves the exact problem you're talking about - it incentivizes people to buy the tickets that don't normally get filled, whilst not providing any discount during premium times.
And while yes, it's expected to be slow compared to the native functions, that's not the problem. It's slow compared to simulation.
If you look at the real market the trend is clear: There has never in the history of the stock market ever been a time when investors were more willing to invest in money-losing companies to gamble on them hitting it big. Tesla is valued by the stock market as twice as valuable as the Ford Motor Company.
It's much more difficult to actually confirm that the cause of the delay is an external factor, rather than a reflection of the person doing the work since most likely the only person with a real understanding of exactly why something is difficult is the person doing the work. So there's a stigma attached that isn't present in other professions.
Now if you have 3 ULP to play with, the maker of an Intel CPU is going to design an exp instruction to best make use of the existing Intel functional units. But an Intel FPGA dev is going to design an exp instruction to best make use of Lookup Tables and 18x18 multiplies - because that's what they have on the FPGA.
So whilst you'll get the same answer for x^y on Intel CPU and Intel FPGA within 3 ULPs those rounding errors are going to be different between the two architectures. So now, if you want to compute a normal distribution on Intel FPGA vs CPU you'll get 3 ULPs in your exponent, but that'll carry forward into the rest of the equation.
So now you have a choice - do you use the built-in function for exp on the Intel CPU - which is OpenCL compliant just like the FPGA, and get unknown rounding errors in what is probably a mathematically sensitive task, or do you emulate the actual sub-operations the FPGA does? In which case your hardy RTL designer who wrote that exponent function RTL is going to have to write an implementation in C that emulates the hardware. Oh and they don't only have to do that for exp - they have to do that for 100s of mathematical functions, and it'll run dog slow on the CPU compared to using the native functions.
[1]https://en.wikipedia.org/wiki/Rounding#Table-maker's_dilemma
[2]https://www.khronos.org/registry/OpenCL/specs/opencl-2.1-env...
A second more serious issue is that getting performance that justifies using an FPGA requires tuning very carefully to the architecture. This may mean adopting pipeline architectures that destroy emulator performance (there's still issues with the emulator identifying that the design patterns for shift registers in FPGA look like pointer fun on CPU rather than mammoth memcpys). So for a huge part of the design stage the emulator is basically useless- because it tells you nothing about what you care about, since the performance of the emulator is often negatively correlated with performance on FPGA. This is made worse if you're doing hardcore FPGA tricks like mixed precision arithmetic.
As you say though - the fact that timing is lost in the emulator also means you don't get a true idea of whether you have buffer overflows etc or lock-up. Adding debug into the actual design impacts the implementation on FPGA in a way that it doesn't for software - and is sometimes unintuitive.
Elon Musk sent an e-mail to all his employees on August 7th, and published the e-mail to the world. In the e-mail he made a number of quite worrying statements as the CEO of the company and some outlandish claims. One week later on August 13th, Elon Musk rips off his mask and cackles manically: Behold! It was me all along! Not the mild mannered CEO of your heart, but I have been secretly talking as a potential bidder for your company! Moohahaha.