cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

FangQ
Adept I

does 4650 support double precision float?

The following code printed very strange outputs (either zeros or huge numbers) with my HD 4650 card. If I replace all double to float, or set BRT_RUNTIME to cpu, the results look ok.

 

can anyone tell me what's wrong with this code? or it is SDK 1.3's bug?

 

#include <stdio.h>
#include <stdlib.h>

kernel void copy(double seed<>,out double res<>{
    res=seed;
}

int main(int argc, char**argv){
    double v[100];
    double output[100];
    int randlen=100,i;
    int iteration=1000;

    double gseed<100>;
    double gres<100>;

    for(i=0;i<100;i++)
        v=i ;
      
    streamRead(gseed, v);
    copy(gseed,gres);
    streamWrite(gres,output);
       
    for(i=0;i<100;i++)
            printf("%d:%f\n",i,output
);
}

0 Likes
5 Replies
gaurav_garg
Adept I

Check error on stream after its declaration, you would know if double precision is supported on hardware.

double gseed<100>;
if(gseed.error())
{
    printf("%s\n", gseed.errorLog());
}

0 Likes

thanks, I tried your method, and the error message is below.

Stream Allocation : Double precision not supported on underlying hardware
Stream Allocation : Failed to create buffer

I am kind of supprized that HD4650 does not support doubles. Can someone confirm on this? or I have to install the proper driver to use it?

 

thanks

0 Likes

Hi FangQ, the 4650 does not support DPFP since it does not have the hardware in the ASIC. We do not enable or disable DPFP on our products through the driver or other software.

You can take a look at this page:

http://developer.amd.com/gpu/ATIStreamSDK/pages/ATIStreamSystemRequirements.aspx

for information on which products have DPFP support and which do not (look for the superscript 1).

Michael.

0 Likes

thank you Michael. now I see it.

Other than double precision floats, are there any other significant limitations for using stream sdk on 4650 card comparing with the more full-featured ones, say 4870?

0 Likes

Not to my knowledge, other than fewer number of SIMDs and perhaps a slow engine/memory clock.

0 Likes