Git Product home page Git Product logo

Comments (15)

nelsonsilva avatar nelsonsilva commented on June 29, 2024

@unicomp21 Take a look at https://github.com/nelsonsilva/three.dart/blob/simd/lib/src/core/SIMDVector.dart
I've been benchmarking the webgl_performance example but still no performance improvement ...

from three.dart.

unicomp21 avatar unicomp21 commented on June 29, 2024

Is there a link for the example? My guess is that it's GPU intense, as
opposed to Float32x4, which is CPU intense. Am I right?
On May 4, 2013 9:42 AM, "Nelson Silva" [email protected] wrote:

@unicomp21 https://github.com/unicomp21 Take a look at
https://github.com/nelsonsilva/three.dart/blob/simd/lib/src/core/SIMDVector.dart
I've been benchmarking the webgl_performance example but still no
performance improvement ...


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-17434247
.

from three.dart.

unicomp21 avatar unicomp21 commented on June 29, 2024

Nelson, I missed the link earlier, nice job! You the man!

On Sat, May 4, 2013 at 9:42 AM, Nelson Silva [email protected]:

@unicomp21 https://github.com/unicomp21 Take a look at
https://github.com/nelsonsilva/three.dart/blob/simd/lib/src/core/SIMDVector.dart
I've been benchmarking the webgl_performance example but still no
performance improvement ...


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-17434247
.

from three.dart.

unicomp21 avatar unicomp21 commented on June 29, 2024

For what it's worth, this implementation opens the doors wide for
procedural geometry/texture generation on the CPU. (ie ray tracing of
static textures where the instruction count would be too high for the gpu,
procedural geometry generation using isosurfaces, the list goes on ...)

Another exciting application is offline rendering for Hollywood style
animation. Using your vector implementation, and a few thousand web
browsers collaborating, some very cool stuff could be done.

On Sun, May 5, 2013 at 6:06 AM, John Davis [email protected] wrote:

Nelson, I missed the link earlier, nice job! You the man!

On Sat, May 4, 2013 at 9:42 AM, Nelson Silva [email protected]:

@unicomp21 https://github.com/unicomp21 Take a look at
https://github.com/nelsonsilva/three.dart/blob/simd/lib/src/core/SIMDVector.dart
I've been benchmarking the webgl_performance example but still no
performance improvement ...


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-17434247
.

from three.dart.

unicomp21 avatar unicomp21 commented on June 29, 2024

Are there any unit tests yet?

from three.dart.

nelsonsilva avatar nelsonsilva commented on June 29, 2024

@unicomp21 we started experimenting with DRT to get at the least the samples running on our CI setup but never managed to get it working properly.

from three.dart.

unicomp21 avatar unicomp21 commented on June 29, 2024

DRT, CL ... I'm a bit lost.
On May 7, 2013 4:04 AM, "Nelson Silva" [email protected] wrote:

@unicomp21 https://github.com/unicomp21 we started experimenting with
DRT to get at the least the samples running on our CI setup but never
managed to get it working properly.


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-17531207
.

from three.dart.

nelsonsilva avatar nelsonsilva commented on June 29, 2024

DRT <=> DumpRenderTree (see http://trac.webkit.org/wiki/Writing%20Layout%20Tests%20for%20DumpRenderTree)

CI <=> Continuous Integration (we're using drone.io)

from three.dart.

unicomp21 avatar unicomp21 commented on June 29, 2024

This is in reference to the new SIMDVector implementation?

On Tue, May 7, 2013 at 6:00 AM, Nelson Silva [email protected]:

DRT <=> DumpRenderTree (see
http://trac.webkit.org/wiki/Writing%20Layout%20Tests%20for%20DumpRenderTree
)

CI <=> Continuous Integration (we're using drone.io)


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-17535748
.

from three.dart.

nelsonsilva avatar nelsonsilva commented on June 29, 2024

@unicomp21 "Are there any unit tests yet?"
@nelsonsilva "... DRT...CI..."

from three.dart.

unicomp21 avatar unicomp21 commented on June 29, 2024

Nelson, I think it would be worthwhile to give your SIMDVector it's own git
repo. As far as I know, nobody has created one yet, and it has great
utility for many applications. We need something like Sylvester (vector
math for javascript), but rather for dart w/ SIMD. Heaven knows when
mccutchan will get around to updating the vector_math module, I think he's
actually painted himself into a bit of a corner with the code-gen framework.

On Tue, May 7, 2013 at 12:27 PM, Nelson Silva [email protected]:

@unicomp21 https://github.com/unicomp21 "Are there any unit tests yet?"
@nelsonsilva https://github.com/nelsonsilva "... DRT...CI..."


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-17556897
.

from three.dart.

unicomp21 avatar unicomp21 commented on June 29, 2024

Starting to realize there's more to the problem. The trick is keeping the
pipeline loaded, which makes things a bit more complex. To speed up
something like cross product there needs to be large blocks/arrays (not
larger than l1 cache) and then multiply/accumulate operations are done at
the block level (which keeps the pipeline loaded).

On Sat, May 4, 2013 at 9:42 AM, Nelson Silva [email protected]:

@unicomp21 https://github.com/unicomp21 Take a look at
https://github.com/nelsonsilva/three.dart/blob/simd/lib/src/core/SIMDVector.dart
I've been benchmarking the webgl_performance example but still no
performance improvement ...


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-17434247
.

from three.dart.

unicomp21 avatar unicomp21 commented on June 29, 2024

And to do what I just mentioned, we need swizzle support, which John M
hasn't added yet.

TODO(johnmccutchan): Add all 256 possible combinations.

typed_data.dart

On Sat, Jun 1, 2013 at 8:03 AM, John Davis [email protected] wrote:

Starting to realize there's more to the problem. The trick is keeping the
pipeline loaded, which makes things a bit more complex. To speed up
something like cross product there needs to be large blocks/arrays (not
larger than l1 cache) and then multiply/accumulate operations are done at
the block level (which keeps the pipeline loaded).

On Sat, May 4, 2013 at 9:42 AM, Nelson Silva [email protected]:

@unicomp21 https://github.com/unicomp21 Take a look at
https://github.com/nelsonsilva/three.dart/blob/simd/lib/src/core/SIMDVector.dart
I've been benchmarking the webgl_performance example but still no
performance improvement ...


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-17434247
.

from three.dart.

nelsonsilva avatar nelsonsilva commented on June 29, 2024

Yep. I read some papers by Intel and most of the gain comes from batching
ops. So you won't have vectors as float32x4 but use lists each with one of
the coordinates of a couple of vectors then you can really take advantage
of simd.
No dia 01/06/2013 14:03, "John Davis" [email protected] escreveu:

Starting to realize there's more to the problem. The trick is keeping the
pipeline loaded, which makes things a bit more complex. To speed up
something like cross product there needs to be large blocks/arrays (not
larger than l1 cache) and then multiply/accumulate operations are done at
the block level (which keeps the pipeline loaded).

On Sat, May 4, 2013 at 9:42 AM, Nelson Silva [email protected]:

@unicomp21 https://github.com/unicomp21 Take a look at

https://github.com/nelsonsilva/three.dart/blob/simd/lib/src/core/SIMDVector.dart
I've been benchmarking the webgl_performance example but still no
performance improvement ...


Reply to this email directly or view it on GitHub<
https://github.com/threeDart/three.dart/issues/60#issuecomment-17434247>
.


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-18788739
.

from three.dart.

unicomp21 avatar unicomp21 commented on June 29, 2024

FYI, asked for them to fix/add support for swizzle/reorder, which will allow us to make fast cross products, etc.

https://code.google.com/p/dart/issues/detail?id=11021

from three.dart.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.