i am working with opencl "c" in a multi gpu scenario, where for various calls i have to get the default device id for the current calling host thread in opencl. unfortunately i am not able to figure it out and internet hasnt been kind in this aspect.
in HIP, one would call hipGetDevice(&device_id) and get the device id for current calling host thread. If someone can help me figure out something similar to what hipGetDevice does in opencl it would be highly appreciated.
how to get default device id for calling host thread in opencl
105 views Asked by Yogeesh Agarwal At
1
There are 1 answers
Related Questions in MULTITHREADING
- How can I outsource worker processes within a for loop?
- OpenMP & oneTbb difference
- Receiving Notifications for Individual Task Completion OmniThreadLibrary Parallel.ForEach
- C++ error: no matching member function for call to 'enqueue' futures.emplace_back(TP.enqueue(sum_plus_one, x, &M));
- How can I create a thread in Haskell that will restart if it gets killed due to any reason?
- Qt: running callback in the main thread from the worker thread
- Using `static` on a AVX2 counter function increases performance ~10x in MT environment without any change in Compiler optimizations
- Heap sort with multithreading
- windows multithreading CreateMutex
- The problem of "fine-grained locks and two-phase locking algorithm"
- OpenMP multi-threading not working if OpenMPI set to use one or two MPI processor
- WPF Windows Initializing is locking the separated thread in .Net 8
- TCP Client Losing Connection When Writing Data
- vc++ thread constructor throwing compiler error c2672
- ASP.NET Core 6 Web API : best way to pause before resending email
Related Questions in OPENCL-C
- OpenCL hangs forever when trying to read kernel output
- OpenCL Host ran out of Memory in trivial Kernel
- Why does vectorialization of this simple openCl kernel make it slower?
- LLVM ERROR: Do not know how to split this operator's operand! Why this error happen when opencl kernel was compiled with pyopencl with CPU device?
- Multi GPU clCreateBuffer failure on single context
- Summing a stream of records using OpenCL
- Opencl Program block occurred after the program running for a long time
- Problems additionVector with OpenCL
- OpenCL clFinish never returns
- Static variable in OpenCL C
- OpenCL (in-kernel) callable SVD kernel code?
- Access violation reading location with openCL with high n values
- why doesn't the OpenCL kernel execute even though there are no errors? (c, nvidia, kubuntu)
- Using OpenCL to get the energy consumption of my OpenCL Kernel
- OpenCL: Can you have a `const __global` type or just `__global`?
Related Questions in HIP
- Compiling hip code using hipcc -O0 for AMD GPU
- AMD GPU Compute with c++
- CMake fails to link a shared library decorated with a suffix (like somelib.so.1). Is there any way around?
- Does hip support complex types and arithmetic?
- Textures using AMD Orochi?
- How to debug an HIP/HIPRT application on windows?
- Haskell, HIP library, decode function
- How do I Load Multiple Float4 from Memory to Registers using Inline GCN assembly in AMD HIP?
- hipMemcpy fails to copy
- CUDA's device properties in HIP
- how to get default device id for calling host thread in opencl
- How to detect whether GPU is AMD or NVIDIA from inside HIP code
- GPU Programming, CUDA or OpenCL or?
- HIP-Clang Inline Assembly
- Haskell Image Processing (HIP) operate on Pixel RGB
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
OpenCL always requires you to manually select a device, so you alwayws know which device you have used by keeping track of its ID/context. There is no "default" device selection, although some codes just use device #0 from platform #0 - but on some systems that gives you the CPU/iGPU and not the fast dedicated GPU.
A better solution to pick a default device is to first make a list of all avaliable devices, then query/estimate their specs (FLOPs and memory capacity) and select the fastest device or device with most memory from that list.
More details how that works in code are in this answer.