Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Multicore visualizer

Another thing:

I would like to change the behaviour when multiple viewers claims ownership
(or when nobody claims ownership - it occurs when selection is empty, for example).
(see IVisualizer#handlesSelection() and VisualizerViewer#workbenchSelectionChanged() )

I prefer to let the user choose the viewer, instead of using a random one.


On 02/25/2014 09:54 AM, Xavier Raynaud wrote:
Hi Marc,

Many thanks for your message.

  1. About contributing the visualizer:
    For now, the visualizer also depends on some Kalray underlying tools (not only CDT).
    Therefore, your assumption is false: a user cannot play with the Kalray MPPA with the CDT out-of-the-box.
    He also needs to install the complete Kalray toolchain.

    However, I agree with you. It will be great to contribute it.
    Perhaps I can start with 3 things:
    • The Kalray visualizer reuses 80% of the code from org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui
      Unfortunately, this code is internal, and packages are not exported.
      Therefore, I copied all the classes from this plug-in.
      A good starting point will be to expose this API.
      Are you OK with that point ?
    • MulticoreVisualizerLoadMeter, and
      It's nice to have load metrics on visualizer.
      However, I think we can have a more generic approach here, because several metrics can be provided
      (load, but also power consumption, number of context-switches, ITs, ....)
      I suggest to change the API, in order to be able to "plug" several metric providers (and not having a specific API for each of them).
      What's your opinion on that ?
    • Finally, I had some issues with MIThread, MIThtreadInfo and MIThreadInfoInfo classes.
      These classes are Linux-oriented. When the device does not run Linux (like Kalray MPPA does),
      the implementation of these classes is not always accurate.
      Unfortunately, MIThreadInfoInfo.parse() is private - and therefore cannot be overridden.
      I will open a bug, and provide a patch to fix this issue.

  2. About showing the visualizer at the CDT summit.
    Yes ! it will be great ! Unfortunately, I probably will not have a MPPA device.
    However, I can run the demo on simulator, but it will be limited to one MPPA cluster (17 cores).


On 02/21/2014 03:56 PM, Marc Khouzam wrote:

Very impressive!


Our vision for the different Multicore Visualizers is that they can all be committed to open-source

even if they are specific to a particular architecture.  That way, if someone has a e.g., Kalray MPPA,

they can use CDT out-of-the-box to visualize it.  Furthermore, with a heterogeneous system that

could run some Kalray MPPAs along with some e.g., Epiphany chips, and others, having CDT

to deal with all of them at once will be valuable.


It is a bit early to ask if you plan on contributing your visualizer, but at the speed you seem to be going,

I thought I should at least mention it J


Maybe you can show your Visualizer at the CDT Summit next month?



From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Xavier Raynaud
Sent: Friday, February 21, 2014 6:19 AM
To: cdt-dev@xxxxxxxxxxx
Subject: Re: [cdt-dev] Multicore visualizer


Hi Marc,

Many thanks for your answer.
I finally achieve to implement a nice viewer for MPPA (see screenshot attached), based on org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui

As I said in my last message, I've implemented a Kalray-specific IGDBHardwareAndOS.
Moreover, I also implemented a Kalray-specific mulcicore visualiser, based on org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui.
And with only 2 days, it works !

Open source is magic :)


On 02/19/2014 02:15 PM, Marc Dumais wrote:

Salut Xavier,

On 02/18/2014 09:49 AM, Xavier Raynaud wrote:


I've started to play with Multicore visualizer (org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui).
My objective is to visualize the Kalray MPPA (it's a device with 288 cores) in Eclipse, during a debug session.

Cool! We are very excited to have you join to work on the multicore visualizer. With the high number of cores on the Kalray chip, it will be interesting to see how this goes.

Next step is to connect multicorevisualizer with the MPPA.
It seems the MultiCoreVisualizer relies on IGDBHardwareAndOS service to retrieve CPUs, Cores, and Threads.
So I guess I've to provide my own implementation of this class ?

I think so. Depending on how linux-like your application looks through GDB, you might be able to re-use some of the existing implementation.

However you'll likely need to at least re-implement the part that finds-out the number of CPUs/Cores (by looking in /proc/cpuinfo - which is very Linux-specific). You probably will want to add some Kalray-specific entities in there, in addition to the CPUs/cores (Sorry - I do not remember the details, but I think you have a concept of group-of-cores, that might be useful to add in there).

More generally, have you any hints on this topic ?

We are working on the first iteration of the Epiphany Visualizer right now. It's based on the Multicore Visualizer, strategically overriding some parts of it. We will be presenting this work at EclipseCon next month. We are going to start working on the IGDBHardwareAndOS part later this week - it's the biggest part left. We might be able to share some code in a couple of weeks, if you are interested to have a look. I attach a couple of recent screenshot of the EV.




cdt-dev mailing list

cdt-dev mailing list

Back to the top