Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
The team will post updates and news about our project here

AMMX Enabled Datatypes Coming

Gunnar von Boehn
(Apollo Team Member)
Posts 6197
16 Jan 2018 19:23


Henryk did it again!
We are proud to announce that Henryk enabled AMMX acceleration in JPEG datatypes which the team is using right now.

We see roughly a 100% speedup.

Both picture viewing as also web browsing will highly benefit from this.



Niclas A
(Apollo Team Member)
Posts 219
16 Jan 2018 20:14


Gunnar von Boehn wrote:

Henryk did it again!
  We are proud to announce that Henryk enabled AMMX acceleration in JPEG datatypes which the team is using right now.
 
  We see roughly a 100% speedup.
 
  Both picture viewing as also web browsing will highly benefit from this.
 

Excellent. This is great use of AMMX.



Gregthe Canuck

Posts 274
17 Jan 2018 06:27


Great news - that is quite the speedup!

Nice work Henryk.


Henryk Richter
(Apollo Team Member)
Posts 128/ 1
17 Jan 2018 08:51


Here are two pictures outlining where the current state of development is at. Sadly, there was only one downloadable image from the test set of WarpDT.
   
I've used picture.datatype 45.17 and the last version of Visage (from Aminet). Gold 2.7 development core at x11 (78 MHz). The plain non-AMMX datatype took around 1.7s.
   

   



Gunnar von Boehn
(Apollo Team Member)
Posts 6197
17 Jan 2018 09:46


Henryk,

Do I understand this correct, that the 240 MHz POWER-PC with PowerPC optimized datatypes needs 0.7 seconds to decode the JPEG.
While the 77 MHz 68080 CPU needs only 0.5 seconds using AMMX.

This means the 68080 is here about 50% faster than the 240 MHz PowerPC?


Vojin Vidanovic

Posts 770
17 Jan 2018 10:44


Gunnar von Boehn wrote:

Henryk did it again!
  We see roughly a 100% speedup.

Very, very nice. Hope complete "WarpDT style" set of datatype could in time be AMMX/080 optimized. Five candy bars for Henryk :-) Sometimes I wonder where is a limit to patching AmigaOS.



Henryk Richter
(Apollo Team Member)
Posts 128/ 1
17 Jan 2018 11:38


Vojin Vidanovic wrote:

Very, very nice. Hope complete "WarpDT style" set of datatype could in time be AMMX/080 optimized. Five candy bars for Henryk :-) Sometimes I wonder where is a limit to patching AmigaOS.
 

Datatypes were always considered an open framework where contribution from 3rd party sources was explicitly welcomed. If you are replacing a datatype that shipped with a certain OS revision (JPEG was only in AmigaOS 3.5+ included by default), it could hardly be called "patching".


Henryk Richter
(Apollo Team Member)
Posts 128/ 1
17 Jan 2018 11:48


Gunnar von Boehn wrote:

  Do I understand this correct, that the 240 MHz POWER-PC with PowerPC optimized datatypes needs 0.7 seconds to decode the JPEG.
  While the 77 MHz 68080 CPU needs only 0.5 seconds using AMMX.
 

 
  It looks like it.
 
  Since WarpDT is closed source, I could only speculate on the level of optimization there. The numbers posted on the author's website made me suspect that he might have kept the original YCbCr to RGB color transform from libjpeg-turbo for the non-SIMD PPC targets. That original code uses multiple table accesses per pixel for the conversion. If that is still the case, then the color conversion is quite likely heavily memory-bound.
 
  The JPEG in question is encoded at 1 Bit per pixel. Significantly higher bitrates would shift the complexity hot spot from DCT/color transform towards the Huffman decoding stage.


Gregthe Canuck

Posts 274
17 Jan 2018 11:57


Henryk -

Do you take Paypal or something? I would like to buy you lunch. :)




Michael Nurney

Posts 283
17 Jan 2018 12:27


That’s brilliant, I can’t wait to try this guys :)

Well done again !


Roman S.

Posts 149
17 Jan 2018 17:05


Nice to see some "real world" usage of the AMMX other than drivers.



Gunnar von Boehn
(Apollo Team Member)
Posts 6197
17 Jan 2018 18:20


guys please stay on topic.



Peter Heginbotham

Posts 214
17 Jan 2018 18:43


I did contact Oliver (WarpDT) about supporting the Apollo core but its not currently on the cards as he said "handwriting assembly is not my forte" but he did surgest about adding 68080 optimisations to libjpeg-turbo as it already has MMX and AltiVec optimisations. Then he would try to add this to WarpJPEG.


Gunnar von Boehn
(Apollo Team Member)
Posts 6197
17 Jan 2018 18:51


Peter Heginbotham wrote:

  Then he would try to add this to WarpJPEG.
 

 
Yes this would be nice.
Henryks JPEG datatype is working fine and super fast. Top choice for me. :-)
   
Henryks datatype is as fast as WarpJPEG on an 68060@260 MHz.
Awesome boost.


Mallagan Bellator

Posts 393
18 Jan 2018 02:01


Henryk Richter wrote:

Vojin Vidanovic wrote:

  Very, very nice. Hope complete "WarpDT style" set of datatype could in time be AMMX/080 optimized. Five candy bars for Henryk :-) Sometimes I wonder where is a limit to patching AmigaOS.
 

  Datatypes were always considered an open framework where contribution from 3rd party sources was explicitly welcomed. If you are replacing a datatype that shipped with a certain OS revision (JPEG was only in AmigaOS 3.5+ included by default), it could hardly be called "patching".

Libraries, fonts and devs are other examples of this openness of AmigaOS


Vojin Vidanovic

Posts 770
18 Jan 2018 15:08


Mallagan Bellator wrote:

  Libraries, fonts and devs are other examples of this openness of AmigaOS

While "patching" is not so good exponation, well expanding and optimizing OS to ones needs and hardware is :-)


Mr Niding

Posts 459
19 Jan 2018 05:51


gregthe canuck wrote:

Henryk -
 
  Do you take Paypal or something? I would like to buy you lunch. :)
 
 

This :)


Mallagan Bellator

Posts 393
21 Jan 2018 01:41


Vojin Vidanovic wrote:

Mallagan Bellator wrote:

  Libraries, fonts and devs are other examples of this openness of AmigaOS
 

 
  While "patching" is not so good exponation, well expanding and optimizing OS to ones needs and hardware is :-)

Ya bro xD totally!

posts 18