Code Monkey home page Code Monkey logo

simd-visualiser's Issues

Identify the vectors, possibly with colors.

Right now, one cannot quickly identify which vector is being animated. Sometimes vectors are subject to a lot of operation aland are mixed with other vectors. We should be able to quickly know which one is which.

neon support (ARM)

Neat project! A quick search didn't turn up anything for NEON (ARM's SIMD intrinsics). Would this be difficult to implement?

Example failure - AVX512F/VL intrinsic support?

Hi folks, cool project!

I was trying out a few of my code snippets but can't seem to get them to work. Here's an example:

#include <x86intrin.h>

__m512 huge = _mm512_set1_pd(2);
__m512 tiny = _mm512_set1_pd(-2);
__m512 one = _mm512_set1_pd(1.0);

void sgm(__m512& prodv, __m512& scales, __m512 const incoming) {
	prodv = _mm512_mul_pd(prodv, incoming);
	auto pgeh = _mm512_cmp_pd_mask(prodv, huge, _CMP_GE_OQ);
	auto plet = _mm512_cmp_pd_mask(prodv, tiny, _CMP_LE_OQ);
	prodv = _mm512_mask_mul_pd(prodv, pgeh, prodv, tiny);
	prodv = _mm512_mask_mul_pd(prodv, plet, prodv, huge);
	scales = _mm512_mask_add_epi64(scales, pgeh, scales, one);
	scales = _mm512_mask_sub_epi64(scales, plet, scales, one);
}

Removing the & in the parameter list and making it return prodv gets it a bit further, but not much. All of the instructions are reported as "unsupported command".

Seems that _mm_cvtepi8_epi32 is unsupported

What a great tool, thanks for this! I tried to visualize a very simple function that uses _mm_cvtepi8_epi32; it compiles but then page goes blank; in the firefox console following error appears:

TypeError: e.component.current is null[Learn More] SequentialComponent.js:89:12
<anonymous>
SequentialComponent.js:89:12
value
SequentialComponent.js:83:39
Ni
react-dom.production.min.js:2890
so
react-dom.production.min.js:3408:3
ho
react-dom.production.min.js:3593
Ko
react-dom.production.min.js:4600
Vo
react-dom.production.min.js:4620
Aa
react-dom.production.min.js:5017
Oa
react-dom.production.min.js:4983
Ea
react-dom.production.min.js:4927
Xo
react-dom.production.min.js:4847
enqueueSetState
react-dom.production.min.js:2844
k.prototype.setState
react.production.min.js:72
value
ASMVisualizer.js:67:12
value self-hosted:974:17 complete
SequentialComponent.js:47:20
o
anime.min.js:587
s
anime.min.js:615
j/h.tick
anime.min.js:646
t
anime.min.js:848

Examples of things that crash or hang the visualizer

This example makes it spin forever:

#include <x86intrin.h>

 __m256 dot8(__m256 a0, __m256 a1, __m256 a2, __m256 b0, __m256 b1, __m256 b2)
{
  return _mm256_add_ps(
    _mm256_mul_ps(a0, b0), _mm256_add_ps(_mm256_mul_ps(a1, b1), _mm256_mul_ps(a2, b2)));
}

This example makes it load a white webpage:

#include <x86intrin.h>
__m128i a;
__m128i Foo() { return a; }

Offer a collection of examples the user can try

It would be nice if the user could choose out of a small collection of examples...

E.g., here is another example...

__m128i Delta(__m128i curr, __m128i prev) {
  __m128i a = _mm_alignr_epi8(curr, prev, 12);
  return _mm_sub_epi32(curr, a);
}

c.c. @pmntang

List of unsupported instructions?

Big thanks for making this cool tool open-source.

By any chance, is there a complete list of instructions which are currently not supported / under development please? For instance, I am aware that vgatherdpd does not work.

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.