cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

stedon
Journeyman III

simple_matmult sample computes incorrect

running simple_matmult with certain matrix sizes returns a "FAILED" at verify

Hi,

we have an issue with simple_matmult program from the samples package which we cannot explain up to now:

Enabling verification, it turns out, that the results of the matrix-matrix-multiplication by CPU and GPU do not match for certain matrix sizes.

For example, 64x64 and 128x128 always returns a PASSED, while a y-size of 65 or 129 returns a FAILED. This issue does not only depend on one of the sizes: While any x size with y size of 128 returns a PASSED, for y size of 1024 this is not true.

Have you any clue, from what this could arise?

 

Thanks for hints and answers,

Stefan D.

Tags (1)
0 Likes
13 Replies
MicahVillmow
Staff
Staff

simple_matmult sample computes incorrect

Stedon,
Which version of simple_matmult, which sdk version and which graphics card does this fail on? I do not see any failures for the CAL version or the brook+ version with the upcoming SDK 1.3 on the sizes you reported.

0 Likes
stedon
Journeyman III

simple_matmult sample computes incorrect

Hi Micah,

we're currently using SDK v1.2.1-beta with a Radeon 3870 Firestream 9170 card on a SuSE Linux station.

Is the version 1.3 already available? Where can I download it?

Thanks,

Stefan D.

0 Likes
MicahVillmow
Staff
Staff

simple_matmult sample computes incorrect

Stedon,
SDK 1.3 is schedule for release in sync around the same time as the next Catalyst driver, which should be around 13th of December. The new SDK was announced at Supercomputing 08 as stated here:
http://www.supercomputingonlin...article.php?sid=16532

0 Likes
stedon
Journeyman III

simple_matmult sample computes incorrect

Thanks, Micah. I will wait and try it with SDK 1.3.

However, I wonder if we are the only one recognized that bug(?) in SDK 1.2.1-beta. Is there anyone out there who can confirm, that simple_matmult is computing incorrect results with SDK 1.2.1-beta? I just want to clarify that it is caused by the SDK and not maybe by a failure of the graphics card or whatsoever.

Thanks,

Stefan D.

0 Likes
rahulgarg
Adept II

simple_matmult sample computes incorrect

stedon can you tell me what flags are you using on the command line so that I can try your experiment on my machine?

(Note : not from AMD).
0 Likes
stedon
Journeyman III

simple_matmult sample computes incorrect

rahulgarg, thanks for helping.

Following call does the job perfectly and returns a PASSED:
./simple_matmult -e -x 64 -y 64

However, following call returns a FAILED:
./simple_matmult -e -x 65 -y 65

I'm very interested in your results whether you can confirm or not.

Regards,

Stefan D.

0 Likes
rahulgarg
Adept II

simple_matmult sample computes incorrect

Thats weird. The -x and -y options dont even change the problem sizes afaik. (These flags were used in earlier SDK i think)
The option to change the problem size are -h and -w on 32-bit linux on SDK 1.2.1 beta. Maybe its different on your system?
This is what happens on my machine :

./simple_matmult -e -h 64 -y 64 : PASSED.
./simple_matmult -e -h 65 -w 65 : This case the sizes are automatically rounded out to be 72x80, 80x72 instead and the test is PASSED.
./simple_matmult -e -x 65 -w 65 : The problem size remains 256x256 (the default) and PASSED.
I am running 32 bit linux, SDK 1.2.1 beta, radeon 4670.



0 Likes
Ceq
Journeyman III

simple_matmult sample computes incorrect

WinXP 64, MSVC 2005, SDK 1.2.1b, Radeon 4850

./simple_matmult -e -x 65 -y 65 : PASSED

./simple_matmult -e -h 65 -w 65 : Error: Invalid command line parameter, h
0 Likes
stedon
Journeyman III

simple_matmult sample computes incorrect

Ceq,

thank you for your answer! rahulgarg really confused me with his "x,y,h,w" parameters. Are there different versions of SDK 1.2.1-beta? In our version, the -h parameter displays the help screen, -w is not a valid parameter. The parameters are parsed by a function from the common files of the SDK, so I really don't understand where these differences come from.

Since 65x65 is working for Ceq, we have to seek for the cause elsewhere.
Can it be a compiler problem?

Thanks for further help,
Stefan D.

0 Likes