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
|