Jump to content

Metal Particles (as demo /bench) new Nbody-Metal (demo/bench)


mitch_de
 Share

144 posts in this topic

Recommended Posts

EDIT: 

After investigation it is clear that the DEMO is really more an DEMO, and not usable as bench - because CPU bound limit, very huge cpu loads generating and moving that particles.

 

NEW:

From here : https://github.com/FlexMonkey/MetalKit-Particles

 

compiled app 2Mill final version:

 

Screenshoot shows low cpu usage but very high (full) GPU load = i think diff gpus should perform different, compared to the demo below.

12 FPS GT  740

20 FPS GTX 650

 

 

DL: OSXMetalParticles_2Mill_final.zip

 

post-110586-0-03445300-1447154997_thumb.jpg

 

NEW 

some new METAL playground N-body Metal demo   :) , well known as cuda, opencl bench - now computes with metal - but i see that more as an demo,not as an benchmark

threadwidth + maxthreadspergroup may very between drivers/gpu models and are shown as info

 

Key s switches between METAL devices - if you have more than one.

Info: Metal is limited to 60 FPS - if you run in that limit you can use key + to get more bodies (up to 96K)  = more gpu work, less FPS

 

post-110586-0-53881700-1447428497_thumb.jpg

 

 

 

DL: NBody-Metal_test1.zip

 

 

 

 

 

  • Like 13
Link to comment
Share on other sites

MacMini6,2 with HD4000

 

1,000,000 = 25 FPS

2,000,000 = 14 FPS

3,000,000 = 9 FPS

 

post-331032-0-21748400-1446816416_thumb.jpg

 

EDIT: That was from 10.11.1 (15B42)

 

====================================

 

UPDATED for OSXMetalParticles_2Mill_final

 

MacMini6,2 = 23 FPS

 

post-331032-0-05324700-1447262575_thumb.jpg

 

====================================

 

UPDATED for OSXMetalParticles_3Mill_final

 

MacMini6,2 = 17 FPS

 

post-331032-0-78978200-1447262956_thumb.jpg

  • Like 2
Link to comment
Share on other sites

Congrats @mitch_de!

Thanks for your hard work  ^_^

 

 

Hey @blackosx, thanks for your test with Intel HD, I'd ask here if someone else had done a test with Metal + HD 4000.

Now i know that Metal works in this video cards.  ;)

  • Like 2
Link to comment
Share on other sites

Congrats @mitch_de!

Thanks for your hard work  ^_^

 

 

Most work by the  https://metalgl.com , i found that stuff, compiled (only changes were changing particles count handling)

 

To bad, that using same bench but with OpenGL ES instead of Metal the app crashes.

Their framework (to use metal, used by the demo) cant use OpenGL, only OpenGL ES - would be interesting to compare Metal FPS against OpenGL (even ES) FPS.

Up to now goal of Metal is to reduce cpu load and because of that getting higher FPS. Most benefit using Metal instead of OpenGL/OpenGL ES will have slow/mobile cpus - much less very fast desktop gpus.

 

 

thanks, mitch_de   :)

 

 

here's the same demo compiled to be used on an device that does not support Metal (particles rendering using OpenGL ES)

 

attachicon.gifParticles_OpenGL_ES_2_Demo.zip

 

Great, but can you perhaps also getting OpenGL ES is used also whenMetal device is available = force OpenGL ES?

So would could compare Metal vs OpenGL ES FPS?

I tried but then the Demo crashed. 

If it would work it would display Rendering using OpenGL ES

  • Like 2
Link to comment
Share on other sites

Great, but can you perhaps also getting OpenGL ES is used also whenMetal device is available = force OpenGL ES?

So would could compare Metal vs OpenGL ES FPS?

I tried but then the Demo crashed. 

If it would work it would display Rendering using OpenGL ES

 

it will be hard to me to test as my GTX570 does not support Metal  but I'll take look

// If we won't be using Metal, disable it before creating the OpenGL context.
	// The glDisableMGL() command can  be used by the app to turn Metal off in Mac/OSX
	// configurations that don't support it. Must be done before Metal or OpenGL have been used.
#if !MGL_SUPPORT_OPENGL_ON_METAL
	glDisableMGL(GL_OPENGL_USE_METAL_MGL);
#endif
  • Like 1
Link to comment
Share on other sites

Nice! :)

So if metal is not supported the demo should not run, right?

 

I'm having the same results both from the original and the open gl one 

 

about 20fps at 1 mln 

 

P.s.

the "matrix effect" when you click it's lovely!  :w00t:

  • Like 1
Link to comment
Share on other sites

OpenGL_ES_2_Demo as my own OpenGL ES forced build crashes with same result / same reason:

hread 6 Crashed:: CVDisplayLink
0   libsystem_c.dylib             	0x0000000109ec9d32 strlen + 18
1   libEGL.dylib                  	0x000000010570f826 TiXmlDeclaration::Clone() const + 166
2   libEGL.dylib                  	0x000000010570bd1f TiXmlNode::InsertEndChild(TiXmlNode const&) + 31
3   libEGL.dylib                  	0x00000001056fe2fd CPVRPreferences::Validate(CPVRTString&) + 285
4   libEGL.dylib                  	0x00000001056fe0da CPVRPreferences::Load(CPVRTString&, bool) + 378
5   libEGL.dylib                  	0x00000001056faced Preferences::load(CPVRTString&) + 29
6   libEGL.dylib                  	0x00000001056f3dcf egl::State::initialize() + 63
7   libEGL.dylib                  	0x00000001056f3d3e egl::initialize_global_state() + 142
8   libEGL.dylib                  	0x00000001056f1482 eglGetDisplay + 18
9   com.metalgl.DrawLoadDemo      	0x00000001052547f3 PVRShellInit::ApiInitAPI() + 113
10  com.metalgl.DrawLoadDemo      	0x000000010524d337 PVRShellInit::Run() + 379
11  com.metalgl.DrawLoadDemo      	0x00000001052286fe DisplayLinkCallback(__CVDisplayLink*, CVTimeStamp const*, CVTimeStamp const*, unsigned long long, unsigned long long*, void*) + 75
12  com.apple.CoreVideo           	0x0000000109c713ba CVDisplayLink::performIO(CVTimeStamp*) + 258
13  com.apple.CoreVideo           	0x0000000109c70f45 CVDisplayLink::runIOThread() + 627
14  com.apple.CoreVideo           	0x0000000109c709a9 startIOThread(void*) + 147
15  libsystem_pthread.dylib       	0x000000010a19e9b1 _pthread_body + 131
16  libsystem_pthread.dylib       	0x000000010a19e92e _pthread_start + 168
17  libsystem_pthread.dylib       	0x000000010a19c385 thread_start + 13

But great that other user with also GT 740 could get results for OpenGL ES.

  • Like 1
Link to comment
Share on other sites

Shappire HD6850

OSX 10.11.2 15C31f

Nothing works

I've only quickly searched so I can't state how accurate this information is but a post in the link below states supported devices for metal as:

 

Nvidia – GeForce gtx 4xx and newer

Intel – HD4000 and newer (ivy bridge and newer)

AMD – HD7000 and newer

 

https://forums.developer.apple.com/message/18007#18007

EDIT: same as netkas http://netkas.org/?p=1405

  • Like 2
Link to comment
Share on other sites

 

I've only quickly searched so I can't state how accurate this information is but a post in the link below states supported devices for metal as:

 

Nvidia – GeForce gtx 4xx and newer

Intel – HD4000 and newer (ivy bridge and newer)

AMD – HD7000 and newer

 

https://forums.developer.apple.com/message/18007#18007

EDIT: same as netkas http://netkas.org/?p=1405

thanks, mitch_de   :)

 

 

here's the same demo compiled to be used on an device that does not support Metal (particles rendering using OpenGL ES)

 

attachicon.gifParticles_OpenGL_ES_2_Demo.zip

 Doesn't work on unsupported hardware.

Link to comment
Share on other sites

I've only quickly searched so I can't state how accurate this information is but a post in the link below states supported devices for metal as:

 

Nvidia – GeForce gtx 4xx and newer

Intel – HD4000 and newer (ivy bridge and newer)

AMD – HD7000 and newer

 

https://forums.developer.apple.com/message/18007#18007

EDIT: same as netkas http://netkas.org/?p=1405

 

I don't know how true this list is it especially when in WWDC 2015 video, it clearly has been said that all Mac late-2012 models will support Metal

 

 

Late-2012 and later 21.5-inch iMac

  • Late-2012 and later 27-inch iMac
  • Late-2013 and later 27-inch iMac with 5K Retina display
  • Late-2012 and later Mac mini
  • Mid-2012 Mac Pro
  • Late-2013 Mac Pro
  • Mid-2012 and later 11-inch MacBook Air
  • Mid-2012 and later 13-inch MacBook Air
  • Mid-2012 13-inch MacBook Pro
  • Late-2012 and later 13-inch MacBook Pro with Retina display
  • Mid-2012 15-inch MacBook Pro
  • Mid-2012 and later 15-inch MacBook Pro with Retina display
  • Early-2015 12-inch MacBook

 

 

 

 Doesn't work on unsupported hardware.

 

it said that my GTX570 does not support Metal but I can launch the demo with OpenGL ES support.

 

particles_opengl_es2_demo.pngdrawload_opengl_es2_demo.png

  • Like 2
Link to comment
Share on other sites

After I clicked, the particles are not generated anymore but a window keep floating around. Plus, no matter I click or right-click. The number stays at 1M.

Link to comment
Share on other sites

 Share

×
×
  • Create New...