RE: [PATCH] rtems-examples: Add CoreMark Benchmark

2021-05-04 Thread BAILLIEZ Damien
Hesham*

Sorry for the typo !

-Message d'origine-
De : BAILLIEZ Damien 
Envoyé : mardi 4 mai 2021 10:16
À : 'Hesham Almatary' 
Cc : devel@rtems.org
Objet : RE: [PATCH] rtems-examples: Add CoreMark Benchmark

Hello Heshman,

Yes I only use Make.

-Message d'origine-
De : H.M.K. Almatary  De la part de Hesham Almatary 
Envoyé : vendredi 30 avril 2021 19:39 À : BAILLIEZ Damien 
 Cc : devel@rtems.org Objet : Re: [PATCH] 
rtems-examples: Add CoreMark Benchmark

Hello Damien,

Glad to know you have an interest in it. Yes, we needed to add Make support for 
it, I just didn't get to work on that yet. Do you need to exclusively use Make 
and not waf though?

On Fri, 30 Apr 2021 at 16:50, BAILLIEZ Damien  wrote:
>
> Hi all,
>
>
>
> I’ve seen in the Archives that the discussion about adding the CoreMark 
> Benchmark ended a few weeks ago on the subject of Make support, which greatly 
> interests me.
>
> Does someone involved with this know if there has been any progress ?
>
>
>
> Regards,
>
> Damien
>
>
>
>
>
>
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

RE: [PATCH] rtems-examples: Add CoreMark Benchmark

2021-05-04 Thread BAILLIEZ Damien
Hello Heshman,

Yes I only use Make.

-Message d'origine-
De : H.M.K. Almatary  De la part de Hesham Almatary
Envoyé : vendredi 30 avril 2021 19:39
À : BAILLIEZ Damien 
Cc : devel@rtems.org
Objet : Re: [PATCH] rtems-examples: Add CoreMark Benchmark

Hello Damien,

Glad to know you have an interest in it. Yes, we needed to add Make support for 
it, I just didn't get to work on that yet. Do you need to exclusively use Make 
and not waf though?

On Fri, 30 Apr 2021 at 16:50, BAILLIEZ Damien  wrote:
>
> Hi all,
>
>
>
> I’ve seen in the Archives that the discussion about adding the CoreMark 
> Benchmark ended a few weeks ago on the subject of Make support, which greatly 
> interests me.
>
> Does someone involved with this know if there has been any progress ?
>
>
>
> Regards,
>
> Damien
>
>
>
>
>
>
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] rtems-examples: Add CoreMark Benchmark

2021-04-30 Thread Hesham Almatary
Hello Damien,

Glad to know you have an interest in it. Yes, we needed to add Make
support for it, I just didn't get to work on that yet. Do you need to
exclusively use Make and not waf though?

On Fri, 30 Apr 2021 at 16:50, BAILLIEZ Damien  wrote:
>
> Hi all,
>
>
>
> I’ve seen in the Archives that the discussion about adding the CoreMark 
> Benchmark ended a few weeks ago on the subject of Make support, which greatly 
> interests me.
>
> Does someone involved with this know if there has been any progress ?
>
>
>
> Regards,
>
> Damien
>
>
>
>
>
>
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] rtems-examples: Add CoreMark Benchmark

2021-04-30 Thread BAILLIEZ Damien
Hi all,

I've seen in the Archives that the discussion about adding the CoreMark 
Benchmark ended a few weeks ago on the subject of Make support, which greatly 
interests me.
Does someone involved with this know if there has been any progress ?

Regards,
Damien



___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] rtems-examples: Add CoreMark Benchmark

2021-03-15 Thread Gedare Bloom
On Mon, Mar 15, 2021 at 6:02 AM Joel Sherrill  wrote:
>
>
>
> On Mon, Mar 15, 2021, 5:53 AM Hesham Almatary  
> wrote:
>>
>> Hello Gedare,
>>
>> Yeah adding Make support should be straightforward. I just assumed
>> Make will be deprecated soon based on [1] and haven't bothered
>> supporting it.
>>
>> [1] 
>> https://github.com/RTEMS/rtems-examples/blob/983926a7e519be85f630c620430e7e1ac3e0f4ea/README.Makefile#L32
>
>
> There are projects that use it. Although it is old and it would be nice to go 
> to something else, that something else isn't there. It's there.foenthe 
> foreseeable future.
>

Makefile will always be an option for users (application level) to
compile, and we should continue to provide/test that in our examples
repo. It would be best to show a variety of build systems in examples,
but limited bandwidth means we should at least show make and waf
approaches.

> --joel
>
>>
>>
>>
>>
>> On Sun, 14 Mar 2021 at 18:47, Gedare Bloom  wrote:
>> >
>> > Hi Hesham,
>> >
>> > Nice work getting this integrated in the upstream. I guess that the
>> > git submodule instructions for building with waf will work for this,
>> > but not Make. How hard would it be for you to integrate the submodule
>> > with Make?
>> >
>> > This is fine with me as-is, I just want to know if we can keep it
>> > supporting both build systems.
>> >
>> > On Sat, Mar 13, 2021 at 12:50 AM Hesham Almatary
>> >  wrote:
>> > >
>> > > CoreMark's primary goals are simplicity and providing a method for
>> > > testing only a processor's core features. It is used primarily here as
>> > > a performance benchmark.
>> > >
>> > > Built and tested for RISC-V rv64imafdc_medany on QEMU and HW
>> > > ---
>> > >  .gitmodules  |  3 +++
>> > >  benchmarks/coremark/coremark |  1 +
>> > >  benchmarks/coremark/wscript  | 50 
>> > >  benchmarks/wscript   |  2 +-
>> > >  4 files changed, 55 insertions(+), 1 deletion(-)
>> > >  create mode 16 benchmarks/coremark/coremark
>> > >  create mode 100644 benchmarks/coremark/wscript
>> > >
>> > > diff --git a/.gitmodules b/.gitmodules
>> > > index ae86e49..d7e52b9 100644
>> > > --- a/.gitmodules
>> > > +++ b/.gitmodules
>> > > @@ -1,3 +1,6 @@
>> > >  [submodule "rtems_waf"]
>> > > path = rtems_waf
>> > > url = git://git.rtems.org/rtems_waf.git
>> > > +[submodule "benchmarks/coremark/coremark"]
>> > > +   path = benchmarks/coremark/coremark
>> > > +   url = g...@github.com:eembc/coremark.git
>> > > diff --git a/benchmarks/coremark/coremark b/benchmarks/coremark/coremark
>> > > new file mode 16
>> > > index 000..1541482
>> > > --- /dev/null
>> > > +++ b/benchmarks/coremark/coremark
>> > > @@ -0,0 +1 @@
>> > > +Subproject commit 1541482bf3e6ef7f5c69f5be76b14537b60833d0
>> > > diff --git a/benchmarks/coremark/wscript b/benchmarks/coremark/wscript
>> > > new file mode 100644
>> > > index 000..2ec5f1e
>> > > --- /dev/null
>> > > +++ b/benchmarks/coremark/wscript
>> > > @@ -0,0 +1,50 @@
>> > > +#-
>> > > +# SPDX-License-Identifier: BSD-2-Clause
>> > > +#
>> > > +# Copyright (c) 2021 Hesham Almatary
>> > > +#
>> > > +# This software was developed by SRI International and the University of
>> > > +# Cambridge Computer Laboratory (Department of Computer Science and
>> > > +# Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part 
>> > > of the
>> > > +# DARPA SSITH research programme.
>> > > +#
>> > > +# Redistribution and use in source and binary forms, with or without
>> > > +# modification, are permitted provided that the following conditions
>> > > +# are met:
>> > > +# 1. Redistributions of source code must retain the above copyright
>> > > +#notice, this list of conditions and the following disclaimer.
>> > > +# 2. Redistributions in binary form must reproduce the above copyright
>> > > +#notice, this list of conditions and the following disclaimer in the
>> > > +#documentation and/or other materials provided with the 
>> > > distribution.
>> > > +#
>> > > +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
>> > > +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>> > > +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
>> > > PURPOSE
>> > > +# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE 
>> > > LIABLE
>> > > +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
>> > > CONSEQUENTIAL
>> > > +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 
>> > > GOODS
>> > > +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
>> > > +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
>> > > STRICT
>> > > +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY 
>> > > WAY
>> > > +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>> > > +# SUCH DAMAGE.
>> > > +#
>> > > +
>> > > +import rtems_waf.rtems as rtems
>> > > +
>> >

Re: [PATCH] rtems-examples: Add CoreMark Benchmark

2021-03-15 Thread Joel Sherrill
On Mon, Mar 15, 2021, 5:53 AM Hesham Almatary 
wrote:

> Hello Gedare,
>
> Yeah adding Make support should be straightforward. I just assumed
> Make will be deprecated soon based on [1] and haven't bothered
> supporting it.
>
> [1]
> https://github.com/RTEMS/rtems-examples/blob/983926a7e519be85f630c620430e7e1ac3e0f4ea/README.Makefile#L32


There are projects that use it. Although it is old and it would be nice to
go to something else, that something else isn't there. It's there.foenthe
foreseeable future.

--joel


>
>
>
> On Sun, 14 Mar 2021 at 18:47, Gedare Bloom  wrote:
> >
> > Hi Hesham,
> >
> > Nice work getting this integrated in the upstream. I guess that the
> > git submodule instructions for building with waf will work for this,
> > but not Make. How hard would it be for you to integrate the submodule
> > with Make?
> >
> > This is fine with me as-is, I just want to know if we can keep it
> > supporting both build systems.
> >
> > On Sat, Mar 13, 2021 at 12:50 AM Hesham Almatary
> >  wrote:
> > >
> > > CoreMark's primary goals are simplicity and providing a method for
> > > testing only a processor's core features. It is used primarily here as
> > > a performance benchmark.
> > >
> > > Built and tested for RISC-V rv64imafdc_medany on QEMU and HW
> > > ---
> > >  .gitmodules  |  3 +++
> > >  benchmarks/coremark/coremark |  1 +
> > >  benchmarks/coremark/wscript  | 50 
> > >  benchmarks/wscript   |  2 +-
> > >  4 files changed, 55 insertions(+), 1 deletion(-)
> > >  create mode 16 benchmarks/coremark/coremark
> > >  create mode 100644 benchmarks/coremark/wscript
> > >
> > > diff --git a/.gitmodules b/.gitmodules
> > > index ae86e49..d7e52b9 100644
> > > --- a/.gitmodules
> > > +++ b/.gitmodules
> > > @@ -1,3 +1,6 @@
> > >  [submodule "rtems_waf"]
> > > path = rtems_waf
> > > url = git://git.rtems.org/rtems_waf.git
> > > +[submodule "benchmarks/coremark/coremark"]
> > > +   path = benchmarks/coremark/coremark
> > > +   url = g...@github.com:eembc/coremark.git
> > > diff --git a/benchmarks/coremark/coremark
> b/benchmarks/coremark/coremark
> > > new file mode 16
> > > index 000..1541482
> > > --- /dev/null
> > > +++ b/benchmarks/coremark/coremark
> > > @@ -0,0 +1 @@
> > > +Subproject commit 1541482bf3e6ef7f5c69f5be76b14537b60833d0
> > > diff --git a/benchmarks/coremark/wscript b/benchmarks/coremark/wscript
> > > new file mode 100644
> > > index 000..2ec5f1e
> > > --- /dev/null
> > > +++ b/benchmarks/coremark/wscript
> > > @@ -0,0 +1,50 @@
> > > +#-
> > > +# SPDX-License-Identifier: BSD-2-Clause
> > > +#
> > > +# Copyright (c) 2021 Hesham Almatary
> > > +#
> > > +# This software was developed by SRI International and the University
> of
> > > +# Cambridge Computer Laboratory (Department of Computer Science and
> > > +# Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as
> part of the
> > > +# DARPA SSITH research programme.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# 1. Redistributions of source code must retain the above copyright
> > > +#notice, this list of conditions and the following disclaimer.
> > > +# 2. Redistributions in binary form must reproduce the above copyright
> > > +#notice, this list of conditions and the following disclaimer in
> the
> > > +#documentation and/or other materials provided with the
> distribution.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
> AND
> > > +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
> THE
> > > +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> PURPOSE
> > > +# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE
> LIABLE
> > > +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> > > +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
> GOODS
> > > +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> > > +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
> STRICT
> > > +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> > > +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
> OF
> > > +# SUCH DAMAGE.
> > > +#
> > > +
> > > +import rtems_waf.rtems as rtems
> > > +
> > > +def build(bld):
> > > +rtems.build(bld)
> > > +
> > > +bld(features = 'c cprogram',
> > > +target = 'coremark.bin',
> > > +includes = ['coremark/', 'coremark/posix/'],
> > > +source = ['coremark/rtems/init.c',
> 'coremark/posix/core_portme.c',
> > > +  'coremark/core_list_join.c', 'coremark/core_main.c',
> > > +  'coremark/core_matrix.c', 'coremark/core_state.c',
> > > +  'coremark/core_util.c'],
> > > +
> > > +

Re: [PATCH] rtems-examples: Add CoreMark Benchmark

2021-03-15 Thread Hesham Almatary
Hello Gedare,

Yeah adding Make support should be straightforward. I just assumed
Make will be deprecated soon based on [1] and haven't bothered
supporting it.

[1] 
https://github.com/RTEMS/rtems-examples/blob/983926a7e519be85f630c620430e7e1ac3e0f4ea/README.Makefile#L32



On Sun, 14 Mar 2021 at 18:47, Gedare Bloom  wrote:
>
> Hi Hesham,
>
> Nice work getting this integrated in the upstream. I guess that the
> git submodule instructions for building with waf will work for this,
> but not Make. How hard would it be for you to integrate the submodule
> with Make?
>
> This is fine with me as-is, I just want to know if we can keep it
> supporting both build systems.
>
> On Sat, Mar 13, 2021 at 12:50 AM Hesham Almatary
>  wrote:
> >
> > CoreMark's primary goals are simplicity and providing a method for
> > testing only a processor's core features. It is used primarily here as
> > a performance benchmark.
> >
> > Built and tested for RISC-V rv64imafdc_medany on QEMU and HW
> > ---
> >  .gitmodules  |  3 +++
> >  benchmarks/coremark/coremark |  1 +
> >  benchmarks/coremark/wscript  | 50 
> >  benchmarks/wscript   |  2 +-
> >  4 files changed, 55 insertions(+), 1 deletion(-)
> >  create mode 16 benchmarks/coremark/coremark
> >  create mode 100644 benchmarks/coremark/wscript
> >
> > diff --git a/.gitmodules b/.gitmodules
> > index ae86e49..d7e52b9 100644
> > --- a/.gitmodules
> > +++ b/.gitmodules
> > @@ -1,3 +1,6 @@
> >  [submodule "rtems_waf"]
> > path = rtems_waf
> > url = git://git.rtems.org/rtems_waf.git
> > +[submodule "benchmarks/coremark/coremark"]
> > +   path = benchmarks/coremark/coremark
> > +   url = g...@github.com:eembc/coremark.git
> > diff --git a/benchmarks/coremark/coremark b/benchmarks/coremark/coremark
> > new file mode 16
> > index 000..1541482
> > --- /dev/null
> > +++ b/benchmarks/coremark/coremark
> > @@ -0,0 +1 @@
> > +Subproject commit 1541482bf3e6ef7f5c69f5be76b14537b60833d0
> > diff --git a/benchmarks/coremark/wscript b/benchmarks/coremark/wscript
> > new file mode 100644
> > index 000..2ec5f1e
> > --- /dev/null
> > +++ b/benchmarks/coremark/wscript
> > @@ -0,0 +1,50 @@
> > +#-
> > +# SPDX-License-Identifier: BSD-2-Clause
> > +#
> > +# Copyright (c) 2021 Hesham Almatary
> > +#
> > +# This software was developed by SRI International and the University of
> > +# Cambridge Computer Laboratory (Department of Computer Science and
> > +# Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part of 
> > the
> > +# DARPA SSITH research programme.
> > +#
> > +# Redistribution and use in source and binary forms, with or without
> > +# modification, are permitted provided that the following conditions
> > +# are met:
> > +# 1. Redistributions of source code must retain the above copyright
> > +#notice, this list of conditions and the following disclaimer.
> > +# 2. Redistributions in binary form must reproduce the above copyright
> > +#notice, this list of conditions and the following disclaimer in the
> > +#documentation and/or other materials provided with the distribution.
> > +#
> > +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> > +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> > +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
> > PURPOSE
> > +# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> > +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
> > CONSEQUENTIAL
> > +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> > +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> > +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
> > STRICT
> > +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> > +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> > +# SUCH DAMAGE.
> > +#
> > +
> > +import rtems_waf.rtems as rtems
> > +
> > +def build(bld):
> > +rtems.build(bld)
> > +
> > +bld(features = 'c cprogram',
> > +target = 'coremark.bin',
> > +includes = ['coremark/', 'coremark/posix/'],
> > +source = ['coremark/rtems/init.c', 'coremark/posix/core_portme.c',
> > +  'coremark/core_list_join.c', 'coremark/core_main.c',
> > +  'coremark/core_matrix.c', 'coremark/core_state.c',
> > +  'coremark/core_util.c'],
> > +
> > +defines = [
> > +# FLAGS_STR is used within CoreMark to print the compiler flags 
> > used
> > +'FLAGS_STR="'+' '.join([str(flag) for flag in bld.env.CFLAGS])+'"'
> > +]
> > +)
> > diff --git a/benchmarks/wscript b/benchmarks/wscript
> > index 12741e7..0947060 100644
> > --- a/benchmarks/wscript
> > +++ b/benchmarks/wscript
> > @@ -7,4 +7,4 @@ import rtems_waf.rtems as rtems
> >
> >  def build(bld):
> >  bld.recurse('nbenc

Re: [PATCH] rtems-examples: Add CoreMark Benchmark

2021-03-14 Thread Hesham Almatary
On Sat, 13 Mar 2021 at 23:38, Joel Sherrill  wrote:
>
> I don't see any RTEMS specific instructions added. Especially
> since I think you need them to deal with the submodule.
>
I relied on the existing README.waf which gives instructions to init
and update submodules (including rtems-waf itself being a submodule)
https://github.com/RTEMS/rtems-examples/blob/master/README.waf#L26

> What happens when you haven't dealt with the submodule? Is the
> error reasonable? I would think a directory is missing and the waf
> build will die.
>
> I am thrilled to see these added. Any advice for how we can use
> these in the project. Compare architectures? RTEMS versions?
>
Yeah, we used it to measure CPU performance for baremetal applications
between different processor implementations and compiler toolchains.
It reports iterations/second as a final number for a particular
operation. The benchmark is a bit configurable though; you can specify
the number of iterations, threading, FPU support, memory locations,
etc. That can be further customised in wscript or a header file, but I
just submitted this patch with the minimum default changes.


> --joel
>
> On Sat, Mar 13, 2021 at 1:50 AM Hesham Almatary 
>  wrote:
>>
>> CoreMark's primary goals are simplicity and providing a method for
>> testing only a processor's core features. It is used primarily here as
>> a performance benchmark.
>>
>> Built and tested for RISC-V rv64imafdc_medany on QEMU and HW
>> ---
>>  .gitmodules  |  3 +++
>>  benchmarks/coremark/coremark |  1 +
>>  benchmarks/coremark/wscript  | 50 
>>  benchmarks/wscript   |  2 +-
>>  4 files changed, 55 insertions(+), 1 deletion(-)
>>  create mode 16 benchmarks/coremark/coremark
>>  create mode 100644 benchmarks/coremark/wscript
>>
>> diff --git a/.gitmodules b/.gitmodules
>> index ae86e49..d7e52b9 100644
>> --- a/.gitmodules
>> +++ b/.gitmodules
>> @@ -1,3 +1,6 @@
>>  [submodule "rtems_waf"]
>> path = rtems_waf
>> url = git://git.rtems.org/rtems_waf.git
>> +[submodule "benchmarks/coremark/coremark"]
>> +   path = benchmarks/coremark/coremark
>> +   url = g...@github.com:eembc/coremark.git
>> diff --git a/benchmarks/coremark/coremark b/benchmarks/coremark/coremark
>> new file mode 16
>> index 000..1541482
>> --- /dev/null
>> +++ b/benchmarks/coremark/coremark
>> @@ -0,0 +1 @@
>> +Subproject commit 1541482bf3e6ef7f5c69f5be76b14537b60833d0
>> diff --git a/benchmarks/coremark/wscript b/benchmarks/coremark/wscript
>> new file mode 100644
>> index 000..2ec5f1e
>> --- /dev/null
>> +++ b/benchmarks/coremark/wscript
>> @@ -0,0 +1,50 @@
>> +#-
>> +# SPDX-License-Identifier: BSD-2-Clause
>> +#
>> +# Copyright (c) 2021 Hesham Almatary
>> +#
>> +# This software was developed by SRI International and the University of
>> +# Cambridge Computer Laboratory (Department of Computer Science and
>> +# Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part of 
>> the
>> +# DARPA SSITH research programme.
>> +#
>> +# Redistribution and use in source and binary forms, with or without
>> +# modification, are permitted provided that the following conditions
>> +# are met:
>> +# 1. Redistributions of source code must retain the above copyright
>> +#notice, this list of conditions and the following disclaimer.
>> +# 2. Redistributions in binary form must reproduce the above copyright
>> +#notice, this list of conditions and the following disclaimer in the
>> +#documentation and/or other materials provided with the distribution.
>> +#
>> +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
>> +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>> +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
>> +# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
>> +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>> +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
>> +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
>> +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
>> +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
>> +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>> +# SUCH DAMAGE.
>> +#
>> +
>> +import rtems_waf.rtems as rtems
>> +
>> +def build(bld):
>> +rtems.build(bld)
>> +
>> +bld(features = 'c cprogram',
>> +target = 'coremark.bin',
>> +includes = ['coremark/', 'coremark/posix/'],
>> +source = ['coremark/rtems/init.c', 'coremark/posix/core_portme.c',
>> +  'coremark/core_list_join.c', 'coremark/core_main.c',
>> +  'coremark/core_matrix.c', 'coremark/core_state.c',
>> +  'coremark/core_util.c'],
>> +
>> +defines = [
>> +# FLAGS_STR is used within CoreMark to print the comp

Re: [PATCH] rtems-examples: Add CoreMark Benchmark

2021-03-14 Thread Gedare Bloom
Hi Hesham,

Nice work getting this integrated in the upstream. I guess that the
git submodule instructions for building with waf will work for this,
but not Make. How hard would it be for you to integrate the submodule
with Make?

This is fine with me as-is, I just want to know if we can keep it
supporting both build systems.

On Sat, Mar 13, 2021 at 12:50 AM Hesham Almatary
 wrote:
>
> CoreMark's primary goals are simplicity and providing a method for
> testing only a processor's core features. It is used primarily here as
> a performance benchmark.
>
> Built and tested for RISC-V rv64imafdc_medany on QEMU and HW
> ---
>  .gitmodules  |  3 +++
>  benchmarks/coremark/coremark |  1 +
>  benchmarks/coremark/wscript  | 50 
>  benchmarks/wscript   |  2 +-
>  4 files changed, 55 insertions(+), 1 deletion(-)
>  create mode 16 benchmarks/coremark/coremark
>  create mode 100644 benchmarks/coremark/wscript
>
> diff --git a/.gitmodules b/.gitmodules
> index ae86e49..d7e52b9 100644
> --- a/.gitmodules
> +++ b/.gitmodules
> @@ -1,3 +1,6 @@
>  [submodule "rtems_waf"]
> path = rtems_waf
> url = git://git.rtems.org/rtems_waf.git
> +[submodule "benchmarks/coremark/coremark"]
> +   path = benchmarks/coremark/coremark
> +   url = g...@github.com:eembc/coremark.git
> diff --git a/benchmarks/coremark/coremark b/benchmarks/coremark/coremark
> new file mode 16
> index 000..1541482
> --- /dev/null
> +++ b/benchmarks/coremark/coremark
> @@ -0,0 +1 @@
> +Subproject commit 1541482bf3e6ef7f5c69f5be76b14537b60833d0
> diff --git a/benchmarks/coremark/wscript b/benchmarks/coremark/wscript
> new file mode 100644
> index 000..2ec5f1e
> --- /dev/null
> +++ b/benchmarks/coremark/wscript
> @@ -0,0 +1,50 @@
> +#-
> +# SPDX-License-Identifier: BSD-2-Clause
> +#
> +# Copyright (c) 2021 Hesham Almatary
> +#
> +# This software was developed by SRI International and the University of
> +# Cambridge Computer Laboratory (Department of Computer Science and
> +# Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part of the
> +# DARPA SSITH research programme.
> +#
> +# Redistribution and use in source and binary forms, with or without
> +# modification, are permitted provided that the following conditions
> +# are met:
> +# 1. Redistributions of source code must retain the above copyright
> +#notice, this list of conditions and the following disclaimer.
> +# 2. Redistributions in binary form must reproduce the above copyright
> +#notice, this list of conditions and the following disclaimer in the
> +#documentation and/or other materials provided with the distribution.
> +#
> +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> +# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> +# SUCH DAMAGE.
> +#
> +
> +import rtems_waf.rtems as rtems
> +
> +def build(bld):
> +rtems.build(bld)
> +
> +bld(features = 'c cprogram',
> +target = 'coremark.bin',
> +includes = ['coremark/', 'coremark/posix/'],
> +source = ['coremark/rtems/init.c', 'coremark/posix/core_portme.c',
> +  'coremark/core_list_join.c', 'coremark/core_main.c',
> +  'coremark/core_matrix.c', 'coremark/core_state.c',
> +  'coremark/core_util.c'],
> +
> +defines = [
> +# FLAGS_STR is used within CoreMark to print the compiler flags used
> +'FLAGS_STR="'+' '.join([str(flag) for flag in bld.env.CFLAGS])+'"'
> +]
> +)
> diff --git a/benchmarks/wscript b/benchmarks/wscript
> index 12741e7..0947060 100644
> --- a/benchmarks/wscript
> +++ b/benchmarks/wscript
> @@ -7,4 +7,4 @@ import rtems_waf.rtems as rtems
>
>  def build(bld):
>  bld.recurse('nbench')
> -
> +bld.recurse('coremark')

I think we usually keep the blank line at the end of the wscript file.
Not a hard rule.

> --
> 2.25.1
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] rtems-examples: Add CoreMark Benchmark

2021-03-14 Thread Joel Sherrill
I don't see any RTEMS specific instructions added. Especially
since I think you need them to deal with the submodule.

What happens when you haven't dealt with the submodule? Is the
error reasonable? I would think a directory is missing and the waf
build will die.

I am thrilled to see these added. Any advice for how we can use
these in the project. Compare architectures? RTEMS versions?

--joel

On Sat, Mar 13, 2021 at 1:50 AM Hesham Almatary <
hesham.almat...@cl.cam.ac.uk> wrote:

> CoreMark's primary goals are simplicity and providing a method for
> testing only a processor's core features. It is used primarily here as
> a performance benchmark.
>
> Built and tested for RISC-V rv64imafdc_medany on QEMU and HW
> ---
>  .gitmodules  |  3 +++
>  benchmarks/coremark/coremark |  1 +
>  benchmarks/coremark/wscript  | 50 
>  benchmarks/wscript   |  2 +-
>  4 files changed, 55 insertions(+), 1 deletion(-)
>  create mode 16 benchmarks/coremark/coremark
>  create mode 100644 benchmarks/coremark/wscript
>
> diff --git a/.gitmodules b/.gitmodules
> index ae86e49..d7e52b9 100644
> --- a/.gitmodules
> +++ b/.gitmodules
> @@ -1,3 +1,6 @@
>  [submodule "rtems_waf"]
> path = rtems_waf
> url = git://git.rtems.org/rtems_waf.git
> +[submodule "benchmarks/coremark/coremark"]
> +   path = benchmarks/coremark/coremark
> +   url = g...@github.com:eembc/coremark.git
> diff --git a/benchmarks/coremark/coremark b/benchmarks/coremark/coremark
> new file mode 16
> index 000..1541482
> --- /dev/null
> +++ b/benchmarks/coremark/coremark
> @@ -0,0 +1 @@
> +Subproject commit 1541482bf3e6ef7f5c69f5be76b14537b60833d0
> diff --git a/benchmarks/coremark/wscript b/benchmarks/coremark/wscript
> new file mode 100644
> index 000..2ec5f1e
> --- /dev/null
> +++ b/benchmarks/coremark/wscript
> @@ -0,0 +1,50 @@
> +#-
> +# SPDX-License-Identifier: BSD-2-Clause
> +#
> +# Copyright (c) 2021 Hesham Almatary
> +#
> +# This software was developed by SRI International and the University of
> +# Cambridge Computer Laboratory (Department of Computer Science and
> +# Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part of
> the
> +# DARPA SSITH research programme.
> +#
> +# Redistribution and use in source and binary forms, with or without
> +# modification, are permitted provided that the following conditions
> +# are met:
> +# 1. Redistributions of source code must retain the above copyright
> +#notice, this list of conditions and the following disclaimer.
> +# 2. Redistributions in binary form must reproduce the above copyright
> +#notice, this list of conditions and the following disclaimer in the
> +#documentation and/or other materials provided with the distribution.
> +#
> +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> PURPOSE
> +# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
> STRICT
> +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
> WAY
> +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> +# SUCH DAMAGE.
> +#
> +
> +import rtems_waf.rtems as rtems
> +
> +def build(bld):
> +rtems.build(bld)
> +
> +bld(features = 'c cprogram',
> +target = 'coremark.bin',
> +includes = ['coremark/', 'coremark/posix/'],
> +source = ['coremark/rtems/init.c', 'coremark/posix/core_portme.c',
> +  'coremark/core_list_join.c', 'coremark/core_main.c',
> +  'coremark/core_matrix.c', 'coremark/core_state.c',
> +  'coremark/core_util.c'],
> +
> +defines = [
> +# FLAGS_STR is used within CoreMark to print the compiler flags
> used
> +'FLAGS_STR="'+' '.join([str(flag) for flag in bld.env.CFLAGS])+'"'
> +]
> +)
> diff --git a/benchmarks/wscript b/benchmarks/wscript
> index 12741e7..0947060 100644
> --- a/benchmarks/wscript
> +++ b/benchmarks/wscript
> @@ -7,4 +7,4 @@ import rtems_waf.rtems as rtems
>
>  def build(bld):
>  bld.recurse('nbench')
> -
> +bld.recurse('coremark')
> --
> 2.25.1
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

[PATCH] rtems-examples: Add CoreMark Benchmark

2021-03-12 Thread Hesham Almatary
CoreMark's primary goals are simplicity and providing a method for
testing only a processor's core features. It is used primarily here as
a performance benchmark.

Built and tested for RISC-V rv64imafdc_medany on QEMU and HW
---
 .gitmodules  |  3 +++
 benchmarks/coremark/coremark |  1 +
 benchmarks/coremark/wscript  | 50 
 benchmarks/wscript   |  2 +-
 4 files changed, 55 insertions(+), 1 deletion(-)
 create mode 16 benchmarks/coremark/coremark
 create mode 100644 benchmarks/coremark/wscript

diff --git a/.gitmodules b/.gitmodules
index ae86e49..d7e52b9 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
 [submodule "rtems_waf"]
path = rtems_waf
url = git://git.rtems.org/rtems_waf.git
+[submodule "benchmarks/coremark/coremark"]
+   path = benchmarks/coremark/coremark
+   url = g...@github.com:eembc/coremark.git
diff --git a/benchmarks/coremark/coremark b/benchmarks/coremark/coremark
new file mode 16
index 000..1541482
--- /dev/null
+++ b/benchmarks/coremark/coremark
@@ -0,0 +1 @@
+Subproject commit 1541482bf3e6ef7f5c69f5be76b14537b60833d0
diff --git a/benchmarks/coremark/wscript b/benchmarks/coremark/wscript
new file mode 100644
index 000..2ec5f1e
--- /dev/null
+++ b/benchmarks/coremark/wscript
@@ -0,0 +1,50 @@
+#-
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Copyright (c) 2021 Hesham Almatary
+#
+# This software was developed by SRI International and the University of
+# Cambridge Computer Laboratory (Department of Computer Science and
+# Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part of the
+# DARPA SSITH research programme.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#notice, this list of conditions and the following disclaimer in the
+#documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+
+import rtems_waf.rtems as rtems
+
+def build(bld):
+rtems.build(bld)
+
+bld(features = 'c cprogram',
+target = 'coremark.bin',
+includes = ['coremark/', 'coremark/posix/'],
+source = ['coremark/rtems/init.c', 'coremark/posix/core_portme.c',
+  'coremark/core_list_join.c', 'coremark/core_main.c',
+  'coremark/core_matrix.c', 'coremark/core_state.c',
+  'coremark/core_util.c'],
+
+defines = [
+# FLAGS_STR is used within CoreMark to print the compiler flags used
+'FLAGS_STR="'+' '.join([str(flag) for flag in bld.env.CFLAGS])+'"'
+]
+)
diff --git a/benchmarks/wscript b/benchmarks/wscript
index 12741e7..0947060 100644
--- a/benchmarks/wscript
+++ b/benchmarks/wscript
@@ -7,4 +7,4 @@ import rtems_waf.rtems as rtems
 
 def build(bld):
 bld.recurse('nbench')
-
+bld.recurse('coremark')
-- 
2.25.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel