Tweetovi
- Tweetovi, trenutna stranica.
- Tweetovi i odgovori
- Medijski sadržaj
Blokirali ste korisnika/cu @estama2
Jeste li sigurni da želite vidjeti te tweetove? Time nećete deblokirati korisnika/cu @estama2
-
BTW, most of the "reduce" functionality that programming frameworks support, assumes a single group (sum ALL elements in this array) which is the most simplistic case and not enough to implement the full MapReduce model.
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
IMHO, the prog-lang' efforts and focus are very inadequate to deal with the onslaught of more and more CPU cores. The conversation should have been, a long time ago, about how to optimize MapReduce programs within the compiler like doing chain folding and such....
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
I can easily run a computation on 1000s of cores coding a map and a reduce function (via MapReduce model), but when i try to do the same in a high perf. programming language for the 32 cores inside a single computer all i have to work with are threads, mutexes, locks...
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
This is why i'm fond of saying that SIMD is not as much a computational optimization but it is a memory/cache optimization, as it makes it simpler for the compiler/CPU to use the SIMD register space more effectively.
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
Another advantage is that if one is careful to load, pass around and use the matrix xV, yV, zV, posV individually as SIMD registers he'll make it simpler for the compiler to keep the whole matrix inside the CPU in SIMD registers instead of spilling out into memory/caches.
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
If one codes the same using vec3 SIMD types he'll get something like this: m_xV * Point.x + m_yV * Point.y + m_zV * Point.z + posV . The whole thing is simpler to write and understand, and also faster to execute.
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
Exposing internal CPU types as programming language types can simplify and speedup a lot of code. For example look at any transformation matrix multiplication with a vector coded the normal way. It'll be speaking to the CPU using float/double types and it'll involve a lot of code
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
A certain way that i'm lately fond of looking at CPU internals is as typed systems. The types that CPUs support are the various scalar types, and the SIMD types. SIMD types may map to various vector types (vec2,3,4) and for bigger SIMD sizes to whole arrays.
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
The standard exponential smoothing definition works with fixed dt steps. For variable dt steps we are using this*: y = prev_y + (x - prev_y) * min(rate * dt, 1) *the full variable rate code is available in filters.lua in our game
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
An exponential smoother is useful with PID controllers too, where it can remove troublesome high frequencies on either the input of the controller or the output or the input of D (my favorite placement).
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
In math it is exponential smoothing, in finance it is exponential moving average (EMA), in audio it is the first-order IIR or a low-pass filter. All these are the same thing. Throwing out high frequencies of a signal smooths it and also kind of averages it.
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
There are some concepts so useful that different fields are using them with different names and conceptualizations. Such a concept, very useful in gamedev too, is exponential smoothing.
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
Hvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi
-
The one failure i keep coming back to re-read every few years is the "Therac-25": http://sunnyday.mit.edu/papers/therac.pdf … , https://web.stanford.edu/class/cs240/old/sp2014/readings/therac-25.pdf … . Where denialism of software's problems, allowed a corporation's product to fry people for many years.
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
I'm a great fan of expert failure stories as it reminds me to be cautionary of expertise's application limits. LWN has an awesome article from http://linux.conf.au on that:https://lwn.net/Articles/809556
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
- did some personal research with LuxRender's spatial indexes - Co-founded BeamNG and had to leave behind DB academic research (which i loved) - Helped grow BeamNG to more than 1M sales and 40 people with 0 debt or any outside funding
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
- in my free time i did open source coding on physics simulation core of Rigs of Rods where i optimized it by ~2x, wrote collision detection subsystem (reusing my DB multidimensional spatial index work), mud/sand simulation, rewrote friction core
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
- research on distributed graph processing, infinite stream data processing, adaptive compression of big data network streams, and compression of big data storage
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
My decade in review: - worked as a DB researcher creating a functional-relational database system - worked on research projects involving managing protein data, processing millions of research papers, creating distributed and privacy preserving algorithms for human brain research
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi -
All this time i was thinking that LLVM's clean and minimal output (vs GCC's and MSVC's bloated with XORs output) was the better one. After spending an afternoon trying to force MSVC to omit them, it makes sense now why they add them. This also explains why LLVM is slower.
Prikaži ovu nitHvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi
Čini se da učitavanje traje već neko vrijeme.
Twitter je možda preopterećen ili ima kratkotrajnih poteškoća u radu. Pokušajte ponovno ili potražite dodatne informacije u odjeljku Status Twittera.