Hi all. I'm new to the GPU scene and I'm trying to set up an OpenCL development environment. I have an ASUS M4A89GTD Pro motherboard with AMD x4 605e processor. This board has an integrated Radeon HD 4290 GPU. After much searching, I learned this is not supported by the ATI Stream/SDK. I purchased a XFX Radeon HD 5550 graphics card. I downloaded the latest Catalyst 10.9 driver and got the following error:
jim@lonewolf[/usr/share/ati]$ cat fglrx-install.log
[Message] Kernel Module : Trying to install a precompiled kernel module.
[Message] Kernel Module : Precompiled kernel module version mismatched.
[Error] Kernel Module : Kernel module build environment not found - please consult readme.
[Message] Kernel Module : update initramfs not required
I got a little farther with Catalyst 10.9 installation by using a Xen kernel. However, the kernel module doesn't want to load. I see the following generated on the console:
fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
fglrx: Unknown symbol flush_tlb_page
Looked at the module code. There is a function in firegl_public.c referencing flush_tlb_page():
void ATI_API_CALL KCL_flush_tlb_onepage(struct vm_area_struct * vma, unsigned lo
ng va)
{
/* Some kernel developer removed the export of symbol "flush_tlb_page" on 2.6.25 x86_64 SMP kernel.
* Define a simple version here.
* kernel < 2.6.27, on_each_cpu has 4 parameters.
* kernel >= 2.6.27, on_each_cpu has 3 parameters (removed the "retry" parameter)
*/
#if ( defined(__x86_64__) && (defined(__SMP__) || defined(CONFIG_SMP)) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))) || \
(!defined(__x86_64__) && (defined(__SMP__) || defined(CONFIG_SMP)) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29)))
# if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27))
on_each_cpu(kcl_flush_tlb_one, &va, 1, 1);
# else
on_each_cpu(kcl_flush_tlb_one, &va, 1);
# endif
#else
flush_tlb_page(vma, va);
#endif
}
unixd00d,
Are you able to run OpenCL/CAL sample with 10.8 driver or not. with what driver are you able to run OpenCL samples on GPU?
Originally posted by: himanshu.gautam
unixd00d,
Are you able to run OpenCL/CAL sample with 10.8 driver or not. with what driver are you able to run OpenCL samples on GPU?
No, I haven't tried Catalyst 10.8. I was a bit discouraged by the lack of support/response. I tried to go through the vendor route, XFX, and they basically said they didn't support Linux even though it lists both Linux and FreeBSD as supported on their box label. I don't mind hacking the driver to try and resolve the undefined symbol references, but to get beyond requires assistance from AMD/ATI. I'm sure that Catalyst driver worked with RHEL Linux at one time, but they have not kept up with its development as it is clear from my experience. I like AMD support and documentation and is partly the reason why I bought a board with ATI chip, but this is my first exposure to ATI on Linux and so far have not made much of an impression. I'll give 10.8 a shot, but I have no reason to believe this will be any better. At this point, I have not been able to verify ATI Stream/OpenCL on my integrated Radeon HD 4290 nor the XFX Radeon HD 5550 I purchased separately. I spent $500 total in the hopes that I could leverage this technology. So far, I'm really happy with the Athlon II x4 as a long overdue upgrade from an Athlon Socket 939. That is working as advertised. I may just have to put OpenCL on hold until a newer version of Catalyst software is available. At that point, I'll probably have to buy yet another graphics card because the older models are no longer supported...
10.8 works on RHEL.try that out.
Originally posted by: himanshu.gautam 10.8 works on RHEL.try that out.
I tried 10.8 and it fails the same way as 10.9. I guess I'll wait for 10.10. We need ATI's help to resolve this. Thanks for the reply though.
Hi unix_d00d
It seems to be that there is no kernel source. Please install kernel source from your distribution CD because ATI driver needs to build kernel source at the the time of installing the driver.
--Ramandeep
VizExperts
Actually just the kernel headers are sufficient