Hello. FreeBSD has fallen back far behind the standards of modern scientific computing and I dsperately look for solutions having OpenCL support on FreeBSD anyway.
I stumbled into this project recently: FreeOCL at http://code.google.com/p/freeocl/ or the sources located at http://code.google.com/p/freeocl/downloads/detail?name=FreeOCL-0.3.6-src.tar.gz&can=2&q= For your convenience, please find my naive attempt of a port attached to this email. Well, I tried LLVM/CLANG, but Cmake of the sources fairly fails many checks especuially for OpenMP. Using clang++ requisites the usage of the new libc++ (CXXFLAGS+= -stdlib=libc++). But this fails with this error: [...] [ 17%] Building CXX object src/CMakeFiles/FreeOCL.dir/codebuilder.cpp.o In file included from /usr/ports/devel/freeocl/work/FreeOCL-0.3.6-Source/src/codebuilder.cpp:26: /usr/ports/devel/freeocl/work/FreeOCL-0.3.6-Source/src/parser/parser.h:118:15: error: no viable conversion from 'std::__1::basic_istream<char>' to 'const bool' const bool ok = in.get(c); ^ ~~~~~~~~~ /usr/ports/devel/freeocl/work/FreeOCL-0.3.6-Source/src/codebuilder.cpp:444:13: warning: 70 enumeration values not handled in switch: 'VOID', 'BOOL', 'HALF'... [-Wswitch] switch(native->get_type_id()) ^ 1 warning and 1 error generated. *** [src/CMakeFiles/FreeOCL.dir/codebuilder.cpp.o] Error code 1 [..] I tried also setting USE_GCC= 4.7+ using gcc-4.7 I installed, but that fails with [...] -- Build files have been written to: /usr/ports/devel/freeocl/work/FreeOCL-0.3.6-Source ===> Building for freeocl-0.3.6 Scanning dependencies of target FreeOCL [ 1%] Building CXX object src/CMakeFiles/FreeOCL.dir/freeocl.cpp.o In file included from /usr/ports/devel/freeocl/work/FreeOCL-0.3.6-Source/src/freeocl.cpp:18:0: /usr/ports/devel/freeocl/work/FreeOCL-0.3.6-Source/src/freeocl.h:71:2: error: 'u_int64_t' does not name a type *** [src/CMakeFiles/FreeOCL.dir/freeocl.cpp.o] Error code 1 [...] I think patches are required. More disturbing is the use of gcc-4.6 via USE_GCC= 4.6+ The error is then a compalin about a missing include file atomic_ops.h which is located in the abandoned KSE facility of the kernel, so the includes seem not to be installed anymore - but since I'm not involved in the development, I can only guess and ask the people here. Maybe some experienced freeBSD developers with the same need for OpenCl is willing to pick up this and help a bit. Well, as far as I see, the FreeOCL project of Roland Borchard is a OpenCL library for CPU usage. As far as I can understand, if we on FreeBSd could have a library "libOpenCL" as this is usually installed by the nVidia BLOB drivers on Linux for the use of OpenCL/GPGPU support with their GPUs, this would fill a still painfull open gap in FreeBSD as a scientific development platform. There is still no suitable compiler for OpenCL out here for freeBSD, but I have still the hope that LLVM can provide such a thing in the near future. I cross post this posting also to "performance" in the hope finding some people attracted and "lurd" into this subject. Regards, O. Hartmann
PORTNAME= freeocl PORTVERSION= 0.3.6 CATEGORIES= devel MAINTAINER= po...@freebsd.org COMMENT= FreeOCL - a free OpenCL implementation for CPU #MASTER_SITES= http://freeocl.googlecode.com/files/FreeOCL-0.3.6-src.tar.gz MASTER_SITES= http://freeocl.googlecode.com/files/ DISTNAME= FreeOCL-${PORTVERSION}-src WRKSRC= ${WRKDIR}/FreeOCL-${PORTVERSION}-Source USE_CMAKE= YES CMAKE_BUILD_TYPE= Release USE_GCC= 4.7+ #CXXFLAGS+= -stdlib=libc++ .include <bsd.port.mk>
signature.asc
Description: OpenPGP digital signature