6 ms·
Apple patent: Method and apparatus for executing program code
- ericingram 14y agoIs it clear yet, that "intellectual property" is not property at all? Rather, it is a government sanctioned monopoly on ideas that are not scarce like physical property.
- derekerdmann 14y agoCareful, I don't think this is a "Apple patented executable code" situation. It looks more like the process is to build instructions to help concurrency, not just generalize program execution and compilation. When the titles of most patents are taken in isolation, link bait is usually the result.
- chris_wot 14y agoPatenting instructions to help concurrency is not much better.
- shmerl 14y agoI'm surprised they don't attempt to patent Von Neumann architecture, or even the concept of algorithm itself.
- crazygringo 14y agoI don't think the title is accurate, this seems to apply to parallelizing a particular type of loop, not "executing program code" in general. But I don't understand the area enough -- what are vectorized loops, and what is Apple doing here? Can someone explain this patent in an easy way?
- deleted 14y ago[deleted]
- taligent 14y agoWhat are you talking about ? They didn't patent any of those things.
- flatline3 14y agoI only skimmed it, but they seem to be describing a method for performing static compile time hinting coupled with dynamic data dependency analysis at runtime to perform automatic vectorization of loops -- that is to say, using vector instructions that can process more data in 'parallel'. The novel idea here seems to be the hinting plus data dependency analysis, but I'd need read in more detail to see if there's anything here that's non-obvious.
- nullspace 14y agoSeems like you have a vector of functions and a set of control functions. Each control function resolves dependencies, in such a way that the vector of functions can execute parallely while maintaining a "correct" order of execution. It's definitely clever, but I can't believe they were granted a patent for this. It would be like patenting the map reduce framework. :|
- taligent 14y agoPeople really need to calm down about whether or not the patent was granted. The fact is that the patent office is basically rubber stamping most patents and relying on patent invalidation processes within the legal system to resolve issues. Not every patent clerk is going to be Albert Einstein. Nor should we expect them to be.
- shmerl 14y ago> The fact is that the patent office is basically rubber stamping most patents and relying on patent invalidation processes within the legal system to resolve issues. Which is expensive. It should work other way around. Those who file such patents need to spend money to prove that this stuff is really innovative and for some real experts. Current patents system is pure farce.
- mrich 14y agoWhat is the job of the patent office, then?
- deleted 14y ago[deleted]
- deleted 14y ago[deleted]
- alttab 14y agoLooks to me they are patenting event queues? If I don't understand this I can't imagine the government agent that approved this patent did either.
- duskwuff 14y agoNo, not really. Read the "Description" section of the patent.
- duskwuff 14y agoCareful with the title -- this patent is much more specific than the name of the patent implies. There's a human-readable version of the claims in the "Description" section of the patent (past the initial, incomprehensible-unless-you're-a-patent-lawyer "Claims" section). It looks as though it's a patent on a particular model for implementing a highly parallel CPU, with a focus on making vectorized loops work better. Interesting stuff.
- mikhael 14y ago> (past the initial, incomprehensible-unless-you're-a-patent-lawyer "Claims" section) On the contrary, the claims are meant to be understandable to any reasonably technical person (anyone "highly skilled in the art"). On the other hand, your average non-technical lawyer would be completely unable to read them. This doesn't mean it won't take time to fully digest a patent's claims, as they tend to be written with a very high degree of precision.
- excuse-me 14y agothey tend to be written with a very high degree of obsfurcation since you are trying to both claim absolutely everything and yet be specific when it comes to the court case. Fortunately patent cases now tend to get decided out of court based on who has the biggest portfolio, or when they do go to court it's a jury in East Texas deciding which lawyer they dislike least. this has taken a lot of the work out of trying to write elegant claims!
- mikhael 14y agoThe obfuscation comes as a result of the patent examiners whittling down the overly broad claims made by the authors. This is a process that goes on for numerous rounds, back and forth. Personally I see the result as "precision" -- an agreement between the authors and the patent office about what has truly been invented -- rather than any kind of purposeful obfuscation. (I make no claims that this is a good process, that the patent examiners are as competent as they ought to be, or that authors in general are not trying to scam the system).
- reitzensteinm 14y agoIt's a patent for a specific set of steps to execute vector code in loops in parallel, which means the HN title is needlessly linkbaity. The truth is ridiculous enough. Your average HN reader would probably 'invent' the same technique if CPU design was their profession and they were tasked with the continuous march of CPU performance. There wasn't anything in there that didn't seem straight forward enough to me after casually reading Computer Architecture: A Quantitative Approach five years ago, and I make flash games for a living. At least in the case of patents on CPUs, though, your average company is well financed enough to fight a lawsuit around this patent, which was the particularly annoying thing about Lodsys.
- boxein 14y agoIsn't this already what a SIMD processor does? Or is it supposed to be like a SIMD hiding in a SISD processor?
- DeepDuh 14y agoThat's also what I understood. I think it is meant to be a software patent though. It reads very similar or equal to what OpenACC, CUDA and OpenCL do.
- reitzensteinm 14y agoSIMD instructions are used to explicitly execute vector operations in parallel. The patent is about rearranging a stream of instructions across a loop at runtime to turn code that was not written with SIMD in mind into parallel code. The across the loop part is the vaguely new part of it. To simplify it greatly, this can already be made parallel at runtime: float a = 5.0; float b = 10.0; //The next two lines are executed in one clock tick a*=2; b*=2; This patent deals with a method to turn this into parallel code: float[] vals = { 1.0, 2.0, 3.0 } for ( int i = 0; i < vals.length; i++ ) { vals[ i ] *= 2; } Obviously it has to detect any data dependencies at runtime, which isn't trivial. This can't be rewritten, for instance, because i depends on i - 1: float[] vals = { 1.0, 2.0, 3.0 } for ( int i = 1; i < vals.length; i++ ) { vals[ i ] *= vals[ i - 1 ]; } Now, this is cool. I'd love to be working on stuff like this. But it's an extremely obvious step, once you've cleared the low hanging fruit. It's just that the extra complexity hasn't been worth it until now, because easier and simpler things to do have given enough speed up. That someone would do this was inevitable, which is why I say the patent is ridiculous. Imagine history turning out completely differently. IBM is the largest CPU design firm in the world, after Shockley Semiconductor and HP who fab chips for the latest Commodore machine. Apple and Dell never existed. Every single person working on CPU design today for whatever reason ended up in another field. We would still be seeing this technique first being used at the 1 billion transistor mark for CPUs. It's just a consequence of the nature of computation.
- Radzell 14y agoHow is apple keep winning these things it seems like the patent office don't understand the things they are giving away to apple.
- wolf550e 14y agoI am not an expert in patents or the subject matter, but it seems the patent only covers some encoding of (possibly automatically) vectorized loop. Maybe using LLVM, maybe in Apple's GPU drivers effort. No at all as general as the submission's title claims. I would like to hear from more knowledgeable people what the invention is and how novel is it really.
- deleted 14y ago[deleted]
- antiterra 14y agoThis is related to what Apple apparently calls "macroscalar architecture." Here's an excellent writeup and collection of links on what is involved: http://www.cs.washington.edu/homes/asampson/blog/macroscalar.html http://www.cs.washington.edu/homes/asampson/blog/macroscalar... (Someone previously posted that URL to HN as http://news.ycombinator.com/item?id=3887700 http://news.ycombinator.com/item?id=3887700 and it received little response. Maybe the title wasn't sexy enough.)
- monochromatic 14y agoHere we go again. Another HN submission about a patent, pretending that the title of the patent means anything at all about what it covers. Gotta read the claims, people.
- fchollet 14y agoWhile the patent is not literally for "executing code", it still completely ridiculous and should not have been granted. Does anyone at USPTO actually reads the content of these applications, I wonder?
- sliverstorm 14y agoMore important than reading them, I think, is the question of whether they have staff that understands computing well enough to discern whether something is novel or not.
- deleted 14y ago[deleted]
- wmf 14y agoCome on people; flag it and move on.
- jMyles 14y agoI am not a big fan of the sensationalist and misleadingly terse headlines that sometimes accompany posts like this, but this one is pretty serious. Apple is claiming domain over a very fundamental operation here - one that is at the core of human thought and consciousness if not performant software.
- eta_carinae 14y agoStop paying attention to trash patents that get filed every day (too many to count and of little consequence) and start getting outraged at companies that actually sue based on trash patents (Apple is the #1 offender here, but sadly not alone).
- mjcohenw 14y agoMakes me think of the Hughes/Raytheon SPE (Signal Processing Element) that I programmed when I worked at Raytheon about 2006. Loops to control parallel processing to/from multiple memories, ... It's at least 20 years old. How can they get a patent on this? There must be lots of prior art (such as the SPE).
- rbanffy 14y agoThey get away with it because the USPTO clerk isn't particularly inclined to check for prior art. There should be a way to sue the patent office for patents you had to spend money invalidating. Better: to Sue them for approving bad patents and enabling trolls to thrive.
- mistercow 14y agoScoffing at the titles of patents is usually a sign that you don't understand how patents work. A patent covers a specific method for achieving a goal, not the goal itself.
- yalogin 14y agoGlad to see most of the comments here are from people that read the patent, understood it and not the general lets go with the now popular Apple is a patent troll line of hating.
- Zenst 14y agoWTF there desribing a vector processor. These were about and prio-art back in the 70's. INTEL have added instructions to handle this type of processing. This is not new and how they got that patent again highlights what a crock of shit this whole patent mess is. Are patents realy down to wording a known process in such a complex way that it appears to be new - as thats how I see alot of patents. Bottom line if you can't sumarise it on the back of a postit note without duplicating somebody elses work then you have created nothing new at all. I think bad patents like this should be fined, submit prior art patent then you should be fined - big time. Help pay for all this courtroo bullshitting about patents.
- ThePherocity 14y agoCan we just kill software patents already? Seriously, they need to go away.