Forums - Should I vectorize code for Adreno 330?

10 posts / 0 new
Last post
Should I vectorize code for Adreno 330?
pvrtisrp
Join Date: 28 Sep 13
Posts: 47
Posted: Mon, 2013-10-14 06:49

Dear all, 

I want to vectorize code for Adreno 330, but I cannot find any spec. of Adreno 330 on this website.

For Adreno 330, if it's suited, I will group scalar data into OpenCL vector types to utilize it.

Does Adreno 330 support vector computation to expose data parallelism?

Another question, how many ALUs of Adreno 330 has? Could anyone provie Adreno 330 details?

Thanks,

Cathy

  • Up0
  • Down0
pvrtisrp
Join Date: 28 Sep 13
Posts: 47
Posted: Wed, 2013-10-23 01:31

Does anyone have comment?

Does Adreno 330 support SIMD instructions?

Cathy

  • Up0
  • Down0
mhfeldma Moderator
Join Date: 29 Nov 12
Posts: 310
Posted: Wed, 2013-10-23 09:19

Hi Cathy..

You will be able to use VeNum extensions in your app when running on our hardware to utilize the muliple CPU cores..

VeNum is a general-purpose SIMD (Single Instruction, Multiple Data) architecture extension that is used for efficient Vector Floating Point (VFP) processing of mathematical algorithms for these game engine functions. VeNum is instructionally compatible with the standard ARM® NEON™ general-purpose SIMD engine. There are multiple ways to use VeNum, including vectorizing compilers, using C instrinsics or using Assembler. For more details, see ARM’s reference page: http://www.arm.com/products/processors/technologies/neon.php

-mark

  • Up0
  • Down0
pvrtisrp
Join Date: 28 Sep 13
Posts: 47
Posted: Sat, 2013-10-26 17:10

Dear Mark,

Thanks, can it be used in GPU?

Cathy

  • Up0
  • Down0
mhfeldma Moderator
Join Date: 29 Nov 12
Posts: 310
Posted: Mon, 2013-10-28 11:05

No, the Venum is strictly a solution for our CPU hardware architecture.  There's another thread you are on involving OpenCL which might better work depending on the paralleling requirements of your application.

 

-mark

  • Up0
  • Down0
pvrtisrp
Join Date: 28 Sep 13
Posts: 47
Posted: Mon, 2013-10-28 19:49

Dear Mark,

Do you mean if I only write OpenCL kernel C code for Adreno, I cannot use SIMD instruction (NEON, Venum , etc.), that is, I have no need to vectorize my code?

Many thanks,

Cathy

  • Up0
  • Down0
mhfeldma Moderator
Join Date: 29 Nov 12
Posts: 310
Posted: Tue, 2013-10-29 11:41

Cathy - I think it boils down to what the exact problem you need to solve.  OpenCL and Neon are similar SIMD tools, but OpenCL is more advantageius when the amount of data is huge (e.g. image processing).  It's conceivable that both OpenCL and Neon could be used in the same application for different purposes.

 

You may want to download our Adreno SDK and take a look at some of the OpenCL examples included, to get a feeling for the types of problems OpenCL is capable of solving.

https://developer.qualcomm.com/mobile-development/mobile-technologies/ga...

 

-mark

  • Up0
  • Down0
Monkey
Join Date: 10 Oct 13
Posts: 11
Posted: Thu, 2013-11-21 00:46

Will it be possible for me to develop OpenCL applications on existing Smartphones by using libraries provided in Adreno SDK?

Please advice.

  • Up0
  • Down0
mhfeldma Moderator
Join Date: 29 Nov 12
Posts: 310
Posted: Fri, 2013-11-22 08:07

You'll find many OpenCL examples in our Adreno SDK

https://developer.qualcomm.com/mobile-development/mobile-technologies/ga...

  • Up0
  • Down0
Monkey
Join Date: 10 Oct 13
Posts: 11
Posted: Sun, 2013-11-24 23:55

Yes, I did.

And, I have a few questions on how to obtain the dependent libraries that I need to add to Android NDK.

I have detailed my questions here. https://developer.qualcomm.com/forum/qdn-forums/mobile-technologies/mobile-gaming-graphics-optimization-adreno/27201

Can you please look into it and clear my doubts?

Thanks,

Best,

OpenCLMonkey

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.