<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Re:Array of struct vs struct of arrays performance doesn't match up across similar devices in Intel® oneAPI DPC++/C++ Compiler</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1415768#M2534</link>
    <description>&lt;P&gt;Yes of course!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So compiler command is :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;/opt/intel/oneapi/compiler/2022.1.0/linux/bin/dpcpp -fclang-abi-compat=7 -fsycl --gcc-toolchain=/usr -sycl-std=2020 -no-fma -fp-model=p
recise -Wall -Werror -fsycl  -O2 -g -DNDEBUG src/gpu_common/examples/array_of_structs_vs_struct_of_arrays.cpp -o profile_arr_structs_vs_structs_arr&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Version of dpcpp is 2022.1.0, but here is the full version info:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;/opt/intel/oneapi/compiler/2022.1.0/linux/bin/dpcpp -v
Intel(R) oneAPI DPC++/C++ Compiler 2022.1.0 (2022.1.0.20220316)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/intel/oneapi/compiler/2022.1.0/linux/bin-llvm
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As for OS, there are 2 scenarios:&lt;/P&gt;
&lt;P&gt;- The first and identical speed (AKA my PC) is running in a docker running ubuntu 20.04, on a host os running ubuntu 20.04.&lt;/P&gt;
&lt;P&gt;- The second with the array of structs being slower is running in a docker running ubuntu20.04 on a host os running ubuntu16.04 with the Real time kernel patch&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 19 Sep 2022 22:51:09 GMT</pubDate>
    <dc:creator>FantasticMrFox</dc:creator>
    <dc:date>2022-09-19T22:51:09Z</dc:date>
    <item>
      <title>Array of struct vs struct of arrays performance doesn't match up across similar devices</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1415522#M2528</link>
      <description>&lt;P&gt;Classic optimization problem. Array of structs is simple, struct of arrays benifits from cache locality. I wanted to see the difference so i created the attached program. The program does a simple counting of occupied cells program with the intention that you need to gain read access to every cell. It produces the following result:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;```&lt;/P&gt;
&lt;P&gt;Running array of struct vs struct of arrays on &amp;lt;Intel(R) UHD Graphics [0x9bc4]&amp;gt; ...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Num cells | structure type | runtime average (ms) | runtime worstcase (ms)&lt;BR /&gt;----------------------------------------------------------------------------&lt;BR /&gt;1000 | Structs | 0.00544672 | 0.008666&lt;BR /&gt;1000 | Arrays | 0.00407695 | 0.0045&lt;BR /&gt;1000 | S Array | 0.00479932 | 0.009416&lt;BR /&gt;10000 | Structs | 0.0293872 | 0.037583&lt;BR /&gt;10000 | Arrays | 0.0259756 | 0.027333&lt;BR /&gt;10000 | S Array | 0.0264908 | 0.02725&lt;BR /&gt;100000 | Structs | 0.209335 | 0.21725&lt;BR /&gt;100000 | Arrays | 0.202833 | 0.21025&lt;BR /&gt;100000 | S Array | 0.202991 | 0.248416&lt;BR /&gt;1000000 | Structs | 2.0715 | 5.17675&lt;BR /&gt;1000000 | Arrays | 1.99674 | 2.23233&lt;BR /&gt;1000000 | S Array | 1.99635 | 2.02758&lt;BR /&gt;16777216 | Structs | 34.467 | 63.9828&lt;BR /&gt;16777216 | Arrays | 33.4852 | 60.468&lt;BR /&gt;16777216 | S Array | 33.6402 | 34.3354&lt;/P&gt;
&lt;P&gt;```&lt;/P&gt;
&lt;P&gt;Where:&lt;/P&gt;
&lt;P&gt;Structs - Array of Structs (Using USM)&lt;/P&gt;
&lt;P&gt;Arrays - Struct of Arrays (Using USM)&lt;/P&gt;
&lt;P&gt;S Array - A single sycl::buffer holding the relevant data for comparison.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is on my pc with the card (from lspci):&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;nbsp;&amp;nbsp;9BC4, Intel® UHD Graphics Gen9 Coffee Lake&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you look at the table, you can see that the access times are all basically the same.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I then run this on different PC with very similar hardware:&lt;/P&gt;
&lt;P&gt;```&lt;/P&gt;
&lt;P&gt;Running array of struct vs struct of arrays on &amp;lt;Intel(R) UHD Graphics 620 [0x3ea0]&amp;gt; ...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Num cells | structure type | runtime average (ms) | runtime worstcase (ms)&lt;BR /&gt;----------------------------------------------------------------------------&lt;BR /&gt;1000 | Structs | 0.00415342 | 0.01975&lt;BR /&gt;1000 | Arrays | 0.0026213 | 0.003&lt;BR /&gt;1000 | S Array | 0.00317628 | 0.0045&lt;BR /&gt;10000 | Structs | 0.0151256 | 0.016333&lt;BR /&gt;10000 | Arrays | 0.00401343 | 0.004416&lt;BR /&gt;10000 | S Array | 0.00453666 | 0.006&lt;BR /&gt;100000 | Structs | 0.169097 | 0.642666&lt;BR /&gt;100000 | Arrays | 0.0272721 | 0.02825&lt;BR /&gt;100000 | S Array | 0.0276183 | 0.028333&lt;BR /&gt;1000000 | Structs | 4.2028 | 4.79683&lt;BR /&gt;1000000 | Arrays | 0.168516 | 0.427083&lt;BR /&gt;1000000 | S Array | 0.168989 | 0.334666&lt;BR /&gt;16777216 | Structs | 70.515 | 80.0608&lt;BR /&gt;16777216 | Arrays | 4.19573 | 5.04425&lt;BR /&gt;16777216 | S Array | 4.22549 | 5.05592&lt;/P&gt;
&lt;P&gt;```&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Array of Structs vs Struct of Arrays.png" style="width: 400px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/33431iEE651F179D3334E6/image-size/medium/is-moderation-mode/true?v=v2&amp;amp;px=400&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="Array of Structs vs Struct of Arrays.png" alt="Array of Structs vs Struct of Arrays.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here we can&amp;nbsp;see that the array of structs is sometimes 40x slower than the struct of arrays! But the compute:&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;nbsp;3EA9, 3EA0 Intel® UHD Graphics 620 Gen9 Coffee Lake&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is basically the same. From cl-info the only differences are:&lt;/P&gt;
&lt;P&gt;```&lt;/P&gt;
&lt;P&gt;3c3&lt;BR /&gt;&amp;lt; Device Name Intel(R) UHD Graphics 620 [0x3ea0]&lt;BR /&gt;---&lt;BR /&gt;&amp;gt; Device Name Intel(R) UHD Graphics [0x9bc4]&lt;BR /&gt;15c15&lt;BR /&gt;&amp;lt; Max clock frequency 1150MHz&lt;BR /&gt;---&lt;BR /&gt;&amp;gt; Max clock frequency 1250MHz&lt;BR /&gt;60c60&lt;BR /&gt;&amp;lt; Global memory size 13368696832 (12.45GiB)&lt;BR /&gt;---&lt;BR /&gt;&amp;gt; Global memory size 53730476032 (50.04GiB)&lt;/P&gt;
&lt;P&gt;```&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So very similar hardware breeds extremely different results. Any ideas?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Sep 2022 03:22:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1415522#M2528</guid>
      <dc:creator>FantasticMrFox</dc:creator>
      <dc:date>2022-09-19T03:22:45Z</dc:date>
    </item>
    <item>
      <title>Re:Array of struct vs struct of arrays performance doesn't match up across similar devices</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1415608#M2531</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for posting in Intel Communities.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Could you please provide the Os details,dpcpp version and command to compile and run the program.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Hemanth&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 19 Sep 2022 11:39:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1415608#M2531</guid>
      <dc:creator>HemanthCH_Intel</dc:creator>
      <dc:date>2022-09-19T11:39:39Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Array of struct vs struct of arrays performance doesn't match up across similar devices</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1415768#M2534</link>
      <description>&lt;P&gt;Yes of course!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So compiler command is :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;/opt/intel/oneapi/compiler/2022.1.0/linux/bin/dpcpp -fclang-abi-compat=7 -fsycl --gcc-toolchain=/usr -sycl-std=2020 -no-fma -fp-model=p
recise -Wall -Werror -fsycl  -O2 -g -DNDEBUG src/gpu_common/examples/array_of_structs_vs_struct_of_arrays.cpp -o profile_arr_structs_vs_structs_arr&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Version of dpcpp is 2022.1.0, but here is the full version info:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;/opt/intel/oneapi/compiler/2022.1.0/linux/bin/dpcpp -v
Intel(R) oneAPI DPC++/C++ Compiler 2022.1.0 (2022.1.0.20220316)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/intel/oneapi/compiler/2022.1.0/linux/bin-llvm
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As for OS, there are 2 scenarios:&lt;/P&gt;
&lt;P&gt;- The first and identical speed (AKA my PC) is running in a docker running ubuntu 20.04, on a host os running ubuntu 20.04.&lt;/P&gt;
&lt;P&gt;- The second with the array of structs being slower is running in a docker running ubuntu20.04 on a host os running ubuntu16.04 with the Real time kernel patch&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Sep 2022 22:51:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1415768#M2534</guid>
      <dc:creator>FantasticMrFox</dc:creator>
      <dc:date>2022-09-19T22:51:09Z</dc:date>
    </item>
    <item>
      <title>Re:Array of struct vs struct of arrays performance doesn't match up across similar devices</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1416466#M2548</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Could you please provide the docker file and information of the 2 CPUs to investigate more on your issue?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Hemanth&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 22 Sep 2022 04:28:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1416466#M2548</guid>
      <dc:creator>HemanthCH_Intel</dc:creator>
      <dc:date>2022-09-22T04:28:36Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Array of struct vs struct of arrays performance doesn't match up across similar devices</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1417531#M2555</link>
      <description>&lt;P&gt;Hi there, so i was able to replicate this using the llvm docker:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;docker run -it --mount type=bind,source=$(pwd),target=/home/dev/ --privileged ghcr.io/intel/llvm/sycl_ubuntu2004_nightly:latest /bin/bash&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;where&amp;nbsp; `/home/dev` has the binary in it.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So you should be able to just use this docker. For the CPU's what information do you have in mind?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have done&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;cat /proc/cpuinfo&lt;/LI-CODE&gt;
&lt;P&gt;And attached the resultant output for the cpu's to this post.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;cpu_information_fast.txt - From the compute with the fast time for SoA.&lt;/P&gt;
&lt;P&gt;cpu_information_slow.txt - From the compute with the slow time for SoA.&lt;/P&gt;</description>
      <pubDate>Tue, 27 Sep 2022 03:39:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1417531#M2555</guid>
      <dc:creator>FantasticMrFox</dc:creator>
      <dc:date>2022-09-27T03:39:04Z</dc:date>
    </item>
    <item>
      <title>Re:Array of struct vs struct of arrays performance doesn't match up across similar devices</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1419335#M2570</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We are working on your issue internally and will get back to you soon.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Hemanth.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 04 Oct 2022 10:28:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1419335#M2570</guid>
      <dc:creator>HemanthCH_Intel</dc:creator>
      <dc:date>2022-10-04T10:28:57Z</dc:date>
    </item>
    <item>
      <title>Re: Array of struct vs struct of arrays performance doesn't match up across similar devices</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1436042#M2666</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your patience.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is a expected behaviour as with SOA performance is better due to good access locality and cache line aligned transaction.&lt;/P&gt;
&lt;P&gt;It is always more performant to access cacheline aligned data, data port can merge accesses and limit DataPort LSC to L3$ data traffic to transfer only few cachelines covering whole data block.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you disabled cacheability of resources and next aligned performance to the bottom, then you can observe equal results. We suspect that for some reason of your machine exposes similar degradation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please set below environment variable to disable cache usage.&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;export ForceAllResourcesUncached=1&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please refer to below link for all available debug capabilities.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/intel/compute-runtime/blob/master/shared/source/debug_settings/debug_variables_base.inl" target="_blank" rel="noopener"&gt;https://github.com/intel/compute-runtime/blob/master/shared/source/debug_settings/debug_variables_base.inl&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;
&lt;P&gt;Noorjahan.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Dec 2022 06:48:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1436042#M2666</guid>
      <dc:creator>NoorjahanSk_Intel</dc:creator>
      <dc:date>2022-12-06T06:48:37Z</dc:date>
    </item>
    <item>
      <title>Re:Array of struct vs struct of arrays performance doesn't match up across similar devices</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1438369#M2678</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We haven't heard back from you. Could you please provide an update on your issue?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Noorjahan.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 14 Dec 2022 05:21:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1438369#M2678</guid>
      <dc:creator>NoorjahanSk_Intel</dc:creator>
      <dc:date>2022-12-14T05:21:11Z</dc:date>
    </item>
    <item>
      <title>Re:Array of struct vs struct of arrays performance doesn't match up across similar devices</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1440439#M2688</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I have not heard back from you, so I will close this inquiry now. If you need further assistance, please post a new question.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Noorjahan.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 21 Dec 2022 10:32:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Array-of-struct-vs-struct-of-arrays-performance-doesn-t-match-up/m-p/1440439#M2688</guid>
      <dc:creator>NoorjahanSk_Intel</dc:creator>
      <dc:date>2022-12-21T10:32:03Z</dc:date>
    </item>
  </channel>
</rss>

