Flowstone Guru Blog

For general discussion related FlowStone
Post Reply
adamszabo
Posts: 667
Joined: Sun Jul 11, 2010 7:21 am

Re: Flowstone Guru Blog

Post by adamszabo »

Nice article! what is the cpu usage of min/max compared to the others? It didnt say in the table.
KG_is_back
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: Flowstone Guru Blog

Post by KG_is_back »

adamszabo wrote:Nice article! what is the cpu usage of min/max compared to the others? It didnt say in the table.

oops... sorry, totally forgot about those... just tested it and as expected it's the same as comparison. I will update the table in a second. Also added rndint...
KG_is_back
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: Flowstone Guru Blog

Post by KG_is_back »

Another article about optimization. This time optimizing code in assembler. Still there are several very advanced tips coming soon along with the ASM instructions refference (with CPU loads)...
Exo
Posts: 426
Joined: Wed Aug 04, 2010 8:58 pm
Location: UK
Contact:

Re: Flowstone Guru Blog

Post by Exo »

Just published part 1 of a 3 part series for the DLL Component...

The DLL Component - Getting started, part 1: Setting up a Netbeans Project :)
Flowstone Guru. Blog and download site for Flowstone.
Best VST Plugins. Initial Audio.
KG_is_back
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: Flowstone Guru Blog

Post by KG_is_back »

OK, my final article on optimization - Advanced DSP optimization tips. The article shows several not-so-obvious aspects of processing that may significantly affect the CPU load of your code - example schematics are included (I want to thank Exo for uploading them for me ;) ).
Also in parallel with the article I have releasedFlowstone assembler opcode reference that lists the available opcodes along with their descriptions and CPU cosnts on common processors. It took me forever to finish, but I feel it was needed... 8-)
Exo
Posts: 426
Joined: Wed Aug 04, 2010 8:58 pm
Location: UK
Contact:

Re: Flowstone Guru Blog

Post by Exo »

KG_is_back wrote:OK, my final article on optimization - Advanced DSP optimization tips. The article shows several not-so-obvious aspects of processing that may significantly affect the CPU load of your code - example schematics are included (I want to thank Exo for uploading them for me ;) ).
Also in parallel with the article I have releasedFlowstone assembler opcode reference that lists the available opcodes along with their descriptions and CPU cosnts on common processors. It took me forever to finish, but I feel it was needed... 8-)


Yes I bet that took a while! I agree definitely needed. Thanks for your efforts KG.

That article is a must read for anyone looking to squeeze every last bit of CPU out of your schematic!
Even if you are not this stuff is very handy to know, and will enable you to write more efficient code :)
Flowstone Guru. Blog and download site for Flowstone.
Best VST Plugins. Initial Audio.
KG_is_back
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: Flowstone Guru Blog

Post by KG_is_back »

Exo wrote:Yes I bet that took a while! I agree definitely needed. Thanks for your efforts KG. That article is a must read for anyone looking to squeeze every last bit of CPU out of your schematic! Even if you are not this stuff is very handy to know, and will enable you to write more efficient code


The worst part was, that multiple sources stated contradicting data (especially about CPU costs). Sometimes Flowstone ASM opcodes didn't match with the opcodes in literature. Mostly sources stated contradicting data about latencies and throughputs (even their definitions were different) and sometimes they were several orders different between processors. divps on intel i7 was latency 7-14 throughput 7-14 and on AMD Kabini it was 19, 19.
User avatar
Nubeat7
Posts: 1347
Joined: Sat Apr 14, 2012 9:59 am
Location: Vienna
Contact:

Re: Flowstone Guru Blog

Post by Nubeat7 »

thank you KG very useful!

just missing some opcodes in the reference:

Code: Select all

cvtps2dq
cvtdq2ps
cmpps
Exo
Posts: 426
Joined: Wed Aug 04, 2010 8:58 pm
Location: UK
Contact:

Re: Flowstone Guru Blog

Post by Exo »

Just published The DLL Component - Getting Started Part 2: creating a basic DLL!

Some nice little code examples in this one that should help understand a few things. I have purposely kept the examples as simple as possible, I just wanted to highlight a few things with them. I could have done many more but this is just a "Getting Started" series. I can go into heavier stuff in future articles if anyone is interested in that ;)

Part 3 will cover how to set everything up and call the DLL within Flowstone.
Flowstone Guru. Blog and download site for Flowstone.
Best VST Plugins. Initial Audio.
KG_is_back
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: Flowstone Guru Blog

Post by KG_is_back »

Nubeat7 wrote:thank you KG very useful!

just missing some opcodes in the reference:

Code: Select all

cvtps2dq
cvtdq2ps
cmpps

oops.... fixed... also I will begin to add examples today.
Exo wrote:Just published The DLL Component - Getting Started Part 2: creating a basic DLL!

Some nice little code examples in this one that should help understand a few things. I have purposely kept the examples as simple as possible, I just wanted to highlight a few things with them. I could have done many more but this is just a "Getting Started" series. I can go into heavier stuff in future articles if anyone is interested in that ;)

Part 3 will cover how to set everything up and call the DLL within Flowstone.


Very cool, Exo! It got me into the DLL component and programing in C++ finally. I was stupid not co recognize the power of this component. I've already made an FFT component and working on a frequency-domain convolver. I'm struggling with the frames though (when they are not multiple of FFT window).
Post Reply