Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No XgemmHalf in database on development branch? #96

Closed
intelfx opened this issue Sep 3, 2016 · 8 comments
Closed

No XgemmHalf in database on development branch? #96

intelfx opened this issue Sep 3, 2016 · 8 comments

Comments

@intelfx
Copy link
Contributor

intelfx commented Sep 3, 2016

Is there any specific reason why there are no entries (not even the default) for half-precision GEMM on the development branch?

@CNugteren
Copy link
Owner

CNugteren commented Sep 3, 2016

Yes, there is. I have only tested half-precision (fp16) on Intel GPUs with Beignet OpenCL. So far, I couldn't make the kernel work properly with Beignet under Linux. Thus, I haven't been able to run the tuners. As a result there are no entries for fp16 GEMM in the database.

I don't have access to other hardware supporting fp16, so I can't say for 100% that it is a Beignet-related issue - it could of course also be a bug in CLBlast. But until I have other fp16 hardware available (or someone else runs the tuners), it isn't fully tested.

@intelfx
Copy link
Contributor Author

intelfx commented Sep 3, 2016

On Mali-T628 (OpenCL r10), the kernel runs, but there are test failures (not all: 85 passed / 278 skipped / 149 failed). Is this what you mean by "not working properly"?

@intelfx
Copy link
Contributor Author

intelfx commented Sep 3, 2016

And if I swap the default kernel with the one written by ARM, then the numbers are 87/278/147. Couldn't it be an issue with precision?

@CNugteren
Copy link
Owner

With Beignet I haven't managed to get the tuner working for HGEMM.

I haven't tuned for Mali FP16, that's why the parameters are not included in the database. Feel free to do so and upload the results to #1. After that's done the next step would be to look at correctness.

@intelfx
Copy link
Contributor Author

intelfx commented Sep 3, 2016

Beignet

BTW, how does it support half-precision? Here (HD4600, beignet from git master) CLBlast says -2045. That is, I don't have cl_khr_fp16 in extensions.

@CNugteren
Copy link
Owner

CNugteren commented Sep 3, 2016

The following 2 devices at least support cl_khr_fp16 with the latest Beignet:

  • HD Graphics 5500 BroadWell U-Processor GT2
  • HD Graphics Skylake ULT GT2

Could very well be that your hardware doesn't support FP16.

@intelfx
Copy link
Contributor Author

intelfx commented Sep 3, 2016

Ah, that matches the situation with proprietary drivers. Looks like I'm out of luck to verify this.

@CNugteren
Copy link
Owner

I changed the database script such that it now generates a default parameter set based on 32-bit precision (e.g SGEMM) in case there is no entry yet (e.g. HGEMM). This fixes your issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants