invpe / GridShell

Distributed Volunteer Computing with IOT
https://github.com/invpe/GridShell
MIT License
9 stars 0 forks source link

Does GridShell use SIMD instructions ? #11

Open sviscapi opened 1 month ago

sviscapi commented 1 month ago

Hello @invpe ,

I stumbled upon that article this morning:

https://bitbanksoftware.blogspot.com/2024/01/surprise-esp32-s3-has-few-simd.html

Could GridShell make use of those SIMD instructions ?

Best regards,

Samuel

invpe commented 1 month ago

Interesting finding, definitely it CAN use in the future, thanks for sharing :+1:

In it's current shape, GridShell is using a scripting (interpreted) language to execute tasks. This isn't super efficient as you know but is very simple to implement for proof of concept purposes.

When planning to expand further - with enough support, the currently used solution could be dropped for other specially crafted language that would support and squeeze all the juice from these small micro controllers.

Also, the current way of writing a task is simple due to the nature of the "BASIC" language syntax. Since we're using mybasic today, pretty much in it's raw form, it is known to be a choice that balances ease of use with performance. This is however a subject to a change or optimization in the future, as already some of the tasks run 40k times faster in native C as compared to the mybasic interpretation on ESP32.

Many things to tackle, only two hands on the deck :smile: