Jump to content
majkelos

eGPU support

Recommended Posts

Hi,

I am a new owner of Designer 1.6, my goal is to test Designer (and Photo too) with eGPU implementation.

My first impressions:

First issue is that if I use metal, the interface is choppy, with OpenGL looks good.

Is there any possibility to check which GPU Designer using? 

I have Macbook Pro 13 with RX580 attached to TB3 interface (Mantiz box).

My dream is to squeeze max from eGPU.

A can help with any sort of testing.

 

Regards!

Share this post


Link to post
Share on other sites

An eGPU will not help you with Affinity performance, I’m sorry to tell you... Affinity is heavily threaded on CPU and only needs a small amount of GPU... an external GPU may actually make things worse for Affinity performance at this point...

Share this post


Link to post
Share on other sites

Hi Matt, sorry to hear that,

 

for clarification what "metal 2 accelerated view optimized for high Sierra" mean?
Is this something related to GPU?

 

Is there any possibility in future to make more calculation on GPU?

I think eGPU is a big future.

Portable MacBook Pro can be changed to high performance station with fast eGPU which is attached for example with two 4k monitors.

FinalCutPro is good example of using eGPU, some tests shows big performance improve on rendering times.

 

Sorry for my English...

Share this post


Link to post
Share on other sites

An eGPU is definitely a fantastic thing for certain applications, but for others it cannot help... :( Basically, our Metal view is throwing hundreds of textures per second up to the graphics card as it renders new tiles of the document, so requires fast throughput (fastest is the integrated card, obviously) but then draws them with a very simple mesh and a not-too-complicated pixel shader, so there's not a lot of benefit from a faster GPU. Affinity Photo allows Metal compute acceleration of raster operations, but this can require the data to come back from the card afterwards in certain scenarios, so if you have an eGPU then it would take a comparatively long time to get the data back so everything would appear slower than just doing it on the CPU in the first place. The iOS version of Photo shows just how fast the GPU acceleration can make things if you don't have to wait to get the data back again... (data can be read/written by GPU and CPU without copying to/from on iOS)

Share this post


Link to post
Share on other sites

thank You for clarification, if You are interested, for now OpenGL works far better than Metal in this scenario.

With Metal enabled Designer (and everything else) starts to "choking" (whole interface on Mac stuttering).

 

 

 

Share this post


Link to post
Share on other sites

Hi,

 

something to check.

Designer and Photo have the same problem. 
With metal enabled external GPU (AMD RX580) working on 100%.

System is laggy and slow. With OpenGL is much better.

It is normal? Screen attached.

Zrzut ekranu 2017-12-15 09.03.34.jpg

Share this post


Link to post
Share on other sites
32 minutes ago, majkelos said:

Hi,

 

something to check.

Designer and Photo have the same problem. 
With metal enabled external GPU (AMD RX580) working on 100%.

System is laggy and slow. With OpenGL is much better.

It is normal? Screen attached.

Zrzut ekranu 2017-12-15 09.03.34.jpg

Is this on High Sierra by any chance?

Share this post


Link to post
Share on other sites
2 minutes ago, majkelos said:

yes 10.13.2

Metal was working beautifully under heavy load on Sierra and also under High Sierra Developer Beta, but when High Sierra launched I found all sorts of anomalies and strange interactions - so I changed the default away from Metal and made it default to OpenGL instead - at the last minute! I assumed that whatever had been broken in the High Sierra release would be fixed - but it hasn't been so far...

Share this post


Link to post
Share on other sites

Apple can only act on a ‘radar’ report with a code sample to show how to reproduce. However the problem is much more involved and required you to thoroughly load the system and simultaneously get the Metal render pipeline to be a number of render passes behind before the problem shows itself - there’s no quick reproducible code sample to send them - they need the full app, which we obviously can’t send them. The entire of the Metal composition used by the OS was fundamentally broken when it was released though - red squares everywhere, corrupt contents of certain finder windows, random kernel panics... we’ve assumed it was all connected and would be sorted.... if not then I’ll obviously work around the problems somehow. There’s usually a solution, you just have to find where to inject something to smooth things over! ;) I think that’s realistically our only next move....

Share this post


Link to post
Share on other sites
14 hours ago, weblackey said:

@MattP so another reason to stay on Sierra for the time being?

I'll have to leave that decision to you - I'm personally running the latest beta of High Sierra, I keep hoping it'll suddenly start working, but I think I have to face the more likely prospect that it's just going to work this way now and I need to write around the 'quirks' that got introduced at the last minute :/ 

Share this post


Link to post
Share on other sites

Hi MattP.

 

We have official release with support eGPU.

And there is interesting documentation.

 

Did You see that?: https://developer.apple.com/documentation/metal/fundamental_components/gpu_resources/setting_resource_storage_modes/choosing_a_resource_storage_mode_in_macos/

 

Managed mode looks like good option for Designer software (that I think but I'm not developer).

There is no copying data from main memory tu gpu memory, only synchronizing. 

 

If You can make eGPU implementation better please for that :)

 

I'm curious Your opinion.

 

Regards

Share this post


Link to post
Share on other sites

there is a good news,

 

a switched now to metal again in Designer and there is no lag like before. There is high usage of eGPU (about 40%) but everything works smooth.

They corrected something on final release 10.13.4 or that I switched display that's attached to the eGPU to the the primary system display helped.

 

 

Share this post


Link to post
Share on other sites

today switched back to OpenGL, because there was some artifacts in zoom in/zoom out.

Decisively there is a work to make in metal implementation.

 

MattP please for some comment.

 

Share this post


Link to post
Share on other sites

I don't know what more to tell you that you don't already know... :/ As I explained a while ago, an eGPU will not help you with Affinity performance at this point, so it's a bit of a non-starter generally. However, if you're seeing glitches zooming then that means there's a bug in our Metal implementation that needs fixing - and that will get fixed when I get chance to look at it...

 

I know the potential for eGPUs to accelerate your device is alluring, but as I've said before, Affinity will not go any faster by adding an eGPU and because we're constantly throwing new textures to the GPU, it may actually slow things down vs using your much weaker internal GPU...

 

Thanks,

Matt

Share this post


Link to post
Share on other sites

Unless there is zero copy to bring the data back from the GPU (ie the GPU is literally operating on a piece of in-cache cpu-addressable memory) then it will be too expensive to speed anything up until our whole pipeline is ported to Metal. The iOS version of Affinity shows how well a hybrid CPU/GPU architecture can run - it's stunningly quick - but this is because Apple's chip design allows for the GPU to operate on truly shared memory. An external GPU cannot do this. Again, if everything was ported to Metal so there is no reason to bring data back to the CPU then an eGPU will help - potentially an awful lot, but until that happens it will not accelerate most tasks much at all - and may even be slower. The future will bring the changes you're interested in, but that will happen slowly as there are many, many lines of code to port...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

These are the Terms of Use you will be asked to agree to if you join the forum. | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.