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.
Xavier
On 02/25/2014 09:54 AM, Xavier Raynaud wrote:
Hi Marc,
Many thanks for your message.
- 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.
- 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).
Xavier
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?
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 :)
Xavier
On 02/19/2014 02:15 PM, Marc Dumais wrote:
Salut Xavier,
On 02/18/2014 09:49 AM, Xavier Raynaud wrote:
Hi,
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.
Regards,
Marc
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
|