650 karma · joined February 15, 2013
Also, from a quick look at your profile, you seem to have quite a lot of comments criticizing or commenting on CodePlay. Do you have some sort of relationship or animosity with them?
For example, I worked as part of the team that managed the software that allowed pilots to submit flight plans. Any upgrades had to go through multiple weeks of reviews and testing (I don't mean code review - I mean reviews through managers and processes), and was run on some rather ancient hardware. Moreover, thanks to pressure from the pilots union, the system had to be able to accept flight plans by fax, so had a lot of legacy cruft to support that too.
The problem isn't agility, corner cutting or moving too fast - it's moving too slow.
I've worked with managers like this, and although it might work for some, it was hell for me. Having to constantly argue to defend your ideas is draining, soul destroying, depressing, and lead to me burning out multiple times. Discussing and critiquing ideas should not involve force from either the idea's champion, nor who they are pitching it to. If, at the end of the day, you're evaluating ideas based on the force by which they're presented all you end up with is ideas that support being presented and defended forcefully - not deftly, nor intelligently.
> Otherwise please use the original title, unless it is misleading or linkbait.
It's regrettable that π looks similar to n, however I think it's a very minor issue that is resolved the second that you click the link.
There are legitimate criticisms of the current university system (such as cost, political interference in teaching, irerelevant curriculums etc), but claiming that a college degree "demonstrates submissiveness" is utter horseshit.
[1] https://chrome.google.com/webstore/detail/cloud-to-butt-plus...
Mathematics solves this by appealing to a shared underlying "truth", that allows not only programmers with different backgrounds, but also computers to understand and process a programming language.
That is actually what Facebook is doing with their spam detection code - their purely functional architecture makes it easier and more reliable for them to hot-swap out parts of their codebase when the need to update it.
https://code.facebook.com/posts/745068642270222/fighting-spa...
If, however, you mean complicated compositions of arrays, then that is something we support, as well as efficient ways for describing (e.g.) coalesced accesses or stencil operations.
On occasion, such implementations do use vendor specific tools (such as CUDA), but there are a plethora of tools such as OpenCL, SyCL etc that provide portability - but not always performance portability, meaning that they will still be tuned to a specific architecture.
For performance portability, the LIFT project (http://www.lift-project.org/) provides a partial solution. Our approach relies on a high level model of computation (think or something like a functional, or pattern based programming language) coupled with a rewrite-based compiler that explores the space of OpenCL programs with which to implement a computation.
That lets us "optimise" a given implementation to a specific architecture, entirely automatically, in a way that many other low level approaches simply aren't able to, as they contain too many implementation (rather than computation) details.
We get really quite good results over a number of benchmarks - check out our papers!