Comments (9)
Hi @ashokbugude, thanks for your report. Could you give us some more information, please? We'd like to know what operating system you're building for, and what branch you're building from. Ideally you should use this branch, as while we will upstream our modifications to TensorFlow there is sometimes a delay before they are accepted. Therefore, more recent commits can be found there first.
Thanks,
Duncan.
from computecpp-sdk.
Hi @DuncanMcBain . Thanks for your response. Below are the details of tensorflow I am using
System information
Have I written custom code (as opposed to using a stock example script provided in TensorFlow):No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 17.04
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): 1.3
Python version: 2.7
Bazel version (if compiling from source): 0.5.1
GCC/Compiler version (if compiling from source): 6.0.3
CUDA/cuDNN version: N/A
GPU model and memory: N/A
Actual Requirement : To cross-build Tensorflow using --config=sycl for arm 32 bit system
Things Done
1. Able to cross-build Tensorflow without --config=sycl for arm 32 bit system using below command
bazel build --crosstool_top=//armv7l-compiler:toolchain --cpu=armeabi-v7a tensorflow:libtensorflow_cc.so --cxxopt="-std=c++11"
Result : Built Fine without errors
2 cross-build Tensorflow without --config=sycl for arm 32 bit system using below command
bazel build -c opt --copt="-mfpu=neon" --crosstool_top=//armv7l-compiler:toolchain --cpu=armeabi-v7a tensorflow:libtensorflow_cc.so --cxxopt="-std=c++11" --config=sycl
Result
Build Failed at Last moment while trying to link libComputeCpp.so
I have downloaded the sdk from codeplaysoftware website for Linux16.04 and arm64 bit. Can I know if there is 32 bit version .
If not can I please know if I can get source code to build libComputeCpp.so using cross compilation
for arm 32 bit
I basically wanted to improve the speed of TensorFlow on embedded 32 bit arm device by using opencl or sycl. Could you also please suggest any other optimization flags to be used while building.
Thanks
from computecpp-sdk.
I'm sorry, but cross-compiling TensorFlow with SYCL is not currently supported for technical reasons. I expect that this situation will change in the future, but won't work right now (in effect, you are already cross-compiling when using SYCL, and you can't cross twice). While we don't distribute for arm32 right now, there's nothing really stopping us doing that in future. Can you talk about the hardware you're targeting particularly?
from computecpp-sdk.
Thanks for your response . I am targeting 'arm-v7a' ie 32 bit arm architecture . I was actually looking for source code to build libComputeCpp.so so that I can try cross-build myself as I am in need of it badly
from computecpp-sdk.
I've asked internally, we will likely be releasing an arm32 build of ComputeCpp with our next public version. We're building and testing it internally anyway, so it should be fairly easy.
That said, you will still not be able to cross-compile TensorFlow for the reasons I outlined above. While we have plans to improve this, making modifications to TensorFlow's build scripts is a challenging process, so I can't say when it might be available. We do want to get it done, however, as we expect it will bring a large reduction in build times.
Which OpenCL implementation are you targeting? ComputeCpp requires some non-core feature support to be able to run, in particular it requires either SPIR 1.2 or SPIR-V support to be able to run kernels on-device.
from computecpp-sdk.
from computecpp-sdk.
I don't think there will be any problems linking against code compiled from, say, the linaro toolchain. At least, we've not seen any internally.
SPIR is an intermediate format based on LLVM IR which allows developers not to have to write OpenCL kernels directly in OpenCL C, and is the format that ComputeCpp primarily targets. You can find more information here: https://www.khronos.org/spir/
You can find out if you have SPIR support by running the "clinfo" tool, which you can likely install via your package manager. If you grep the output for the string "cl_khr_spir" and find it, your device will be able to run ComputeCpp.
from computecpp-sdk.
Hi @ashokbugude,
Did you manage to make any progress with this? Did you get any useful output from, say, cl_info and the like?
from computecpp-sdk.
from computecpp-sdk.
Related Issues (20)
- terminate called after throwing an instance of 'cl::sycl::invalid_object_error' HOT 6
- CE1.3.0 ptxas fatal : Ptx assembly aborted due to errors (VS2015 + Win10) HOT 8
- Using compute++ with compiler different from /usr/bin/c++ HOT 7
- Terminated after throwing instance of cl::sycl::invalid_object_error HOT 13
- Can't compile samples: missing standard c++ headers HOT 12
- error: no matching function for call to 'clCreateProgramWithSource' HOT 5
- Enabling __CUDACC__ is a bold move HOT 3
- is_accessor trait requires exactly 5 template arguments HOT 4
- Error when running SYCL program with ComputeCpp on CMake : 'cl::sycl::invalid_object_error' HOT 5
- simple-vector-add.cpp throws cl::sycl::compile_program_error exception HOT 4
- Running SYCL program in MSVC Debug mode throws std::bad_array_new_length HOT 9
- cmath not found: Missing Header HOT 5
- atomic add for double HOT 1
- can't download computecpp HOT 1
- samples about atomic op
- about __SYCL_DEVICE_ONLY__ macro HOT 1
- Has ComputeCpp_DIR worked, ever? HOT 4
- Missing ComputeCpp.props error HOT 4
- Exception when running VS example code HOT 5
- MSVC new project not running HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from computecpp-sdk.