Issue with opencl on linux - c

I have a desktop with a linux and a nvidia gforce 5200. The graphics card does not support opencl programming. Hence, I installed AMD APP SDK v.2 to program opencl on the CPU.
However, when I execute after compilation I get the following:
FATAL: Module fglrx not found.
fgrlx is the module of kernel for the ATI proprietary driver. Why is this module required?

Fglrx is a proprietary, Linux binary-only driver for ATI graphic chips with support for 3D acceleration. You can read about it here
For installing AMD App SDK the following system requirements needs to be satisfied
http://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/system-requirements-driver-compatibility/
Basically an AMD CPU as the bare minimum.
Basically you need to install ATI drivers. Here is a tutorial which talk about the procedure
For RPM based linux (like Fedora)
http://gofedora.com/how-to-install-ati-catalyst-fglrx-98-drivers-fedora-11/comment-page-1/
For Debian based Linux (like Ubuntu)
https://help.ubuntu.com/community/BinaryDriverHowto/
A blog talks about how to install AMD App SDK
http://blog.markloiseau.com/2012/05/install-opencl-sdk-ubuntu/

Related

How to iterate effectively in Linux kernel development

I'm fairly new to Linux kernel development. It is certainly quite a bit different than the Windows kernel (I am a recovering Microsoft engineer). Can you provide advice on how to iterate effectively on updating modules that come with the Linux kernel?
Specifically, I am updating hid and bcm5974 to support the latest Macbook Pro (early 2015), and am using Ubuntu 15.04 (kernel 3.19). Would you recommend I test it out in a Virtual Machine? Are there ways to incrementally build instead of clean + build the whole tree? I'd love to be able to build just the affected modules but I can't find a good way to do that. The Makefiles are rather complicated.
Time to answer my own question. After doing a full build, incrementals are pretty straightforward given you're not editing headers that are consumed by other modules.
make modules SUBDIRS=drivers/input/mouse
Once I've installed the kernel from the full build, iterating on new module compilations is a breeze. sudo rmmod bcm5974. scp file from build desktop to Macbook Pro. sudo insmod bcm5974.

How do I install Docker on an NVIDIA Tegra Jetson TK1 with a 32 bit ARM processor running Ubuntu 14.04?

Docker only supports 64 bit x86 Linux, but people have made images for the Raspberry Pi with a 32 bit ARM processor. Will these work with the TK1? I am new to Docker. I am trying to put Jupyterhub on my TK1 to take advantage of the GPU via Gnumpy package for Python.
I am trying to achieve something similar to your goal. However, I am "Work in Progress", so I will try to give my best, and I will come later to make some edits if needed.
First of all, there is a docker.io package (the official Docker package on Ubuntu distributions) at ports.ubuntu.com (which is the default on the Jetson Tegra K1). This means that you can apt-get install docker.io, but it won't work because the kernel is not ready for it.
I have heard that the kernel is quite limited, but fortunately there is a guy at the developer zone who has prepared some nice kernel:
https://devtalk.nvidia.com/default/topic/823132/-customkernel-the-grinch-21-3-3-for-jetson-tk1-developed/
For the last version (yesterday: 26 April 2015) there is an interesting thing:
Added Docker support: POSIX_MQUEUE, CGROUP_PERF, CFS_BANDWIDTH
... which should enable the docker. I have yet to test this last version, I plan to do it soon.

Embedded system with OpenGL, do I need loadable module support and shared lib support?

I have an extremely bare-bones Linux system that consists of basically nothing more than a kernel and a few statically-linked binaries. I have replaced init with my own program. All drivers are compiled into the kernel. It works fine, but now I want OpenGL support. I can compile DRM support into the kernel and install Mesa 3D library which should work with the open source ATI Radeon driver, but is that enough? Do I still need to load modules into the kernel? And how are shared libraries linked at runtime? Does gcc include code in the binaries that searches for shared libraries?

Cross-compile from arm to x86

Is there a cross-compile tool like mingw-w64 that will compile code on a Linux ARM system for a Linux x86 system?
I have a BeagleBone Black that is running Debian wheezy that I would like to use to as a build server. It should just sit in the corner and each night build the code from certain repositories.
I have run some tests and found that I can get it to build the windows versions using mingw-w64. However, when I looked at what I thought would be the Linux build I noticed that it was building for ARM. I figure it should be possible to build the Linux versions, but I can't find a cross-compiler.

Porting to ARM processor - dependancies

Am attempting to port some code to a Debian install on an ARM processor. Am having trouble finding 'libmygcc.a' - is this a compiled file or a library I need to install? I have it on a linux(x86) box but am not clear where it originated.
OpenSSL is next. Sigh.
libmygcc.a is a library for mysql, so you would have to compile mysql for your ARM target

Resources