-
-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
doxigen and opencl dependencies? #69
Comments
Welcome back ;) For the missing doxygen lib: I have to find out, what uses it, because I disable docs by default to speed up the process a little bit. And for OpenCL: I prefer not to compile IM with OpenCL support. However, it seems, that I have to explicitly disable it (via |
Apparently, Doxygen is required by libaom, although * = The exact message is:
** = https://bugs.chromium.org/p/aomedia/issues/detail?id=3324 Regarding the message about OpenCL: OpenCL is explicitly disabled in IMEI (v6.6.3+). |
remove the quotes from $CMAKE_FLAGS in the cmake invocation. CMAKE_FLAGS is a string and quoting it will pass it as a single parameter causing the flags to be ignored. an alternative would be to convert this variable to a bash array and use "${CMAKE_FLAGS[@]}". fixes SoftCreatR#69
Hello, |
Imagemagick, when utilizing OpenCL, demonstrates noticeably inferior performance compared to OpenMP. To delve into the technical details, Imagemagick is a widely used software suite for image manipulation and processing tasks. It offers support for various programming frameworks, including OpenCL and OpenMP, which allow for parallel computing on different hardware architectures. OpenCL (Open Computing Language) is a framework that enables developers to harness the power of heterogeneous computing devices, such as GPUs (Graphics Processing Units), to accelerate computations. It provides a programming model that allows for task parallelism, where multiple tasks can be executed simultaneously on different processing units. On the other hand, OpenMP (Open Multi-Processing) is a programming interface primarily designed for shared memory systems, such as multi-core CPUs. It facilitates parallel processing by dividing the workload among multiple threads, where each thread operates on a separate portion of the data. In the context of Imagemagick, the choice between OpenCL and OpenMP depends on the specific hardware configuration and the nature of the image processing tasks. While OpenCL can leverage the computational power of GPUs, which are highly parallel devices, it may not always outperform OpenMP on certain systems. The performance discrepancy between OpenCL and OpenMP in Imagemagick can be attributed to several factors. One of the key considerations is the workload characteristics. OpenCL excels at handling tasks that can be efficiently parallelized and benefit from the massive parallelism offered by GPUs. However, certain image processing algorithms or operations may not be amenable to parallel execution or may exhibit limited parallelism. In such cases, the overhead associated with task scheduling and data transfers between the CPU and GPU in OpenCL can degrade performance compared to the more straightforward thread-based parallelism of OpenMP. Additionally, the efficiency of the underlying hardware implementation can also play a role. While GPUs are highly capable parallel processors, their performance can be influenced by factors such as memory bandwidth, data dependencies, and algorithmic optimizations. If the GPU architecture or the specific GPU device being utilized is not well-suited for the image processing workload or lacks proper optimization, it can contribute to the slower performance observed when using OpenCL. To summarize, the assertion that Imagemagick with OpenCL is significantly slower than OpenMP highlights the need for careful consideration of the workload characteristics and hardware configuration. While OpenCL can provide substantial performance gains for certain image processing tasks, it may not always surpass the efficiency of OpenMP, especially when confronted with workloads that have limited parallelism or encounter overhead due to data transfers or suboptimal GPU utilization. Therefore, choosing the most suitable parallel computing framework in Imagemagick depends on a thorough analysis of the specific requirements and constraints of the image processing tasks at hand, as well as the available hardware resources. It is possible to include an option for compiling ImageMagick with OpenCL, but this won't be part of the default compilation process. |
Thanks for the explanation. |
Great tool to have a nice clean full install of ImageMagick . During the install there where 2 errors that maybe stopped me from having a successful install.
now I got the happy message:
![image](https://user-images.githubusercontent.com/41617013/175400202-54048709-0bfb-48fd-8802-d46a5d22a8eb.png)
![image](https://user-images.githubusercontent.com/41617013/175400364-43bcfcec-17df-42a9-8e31-9c425da689bc.png)
the leftover errors seem to be of no impact to the software usage.
eddit: now I see those are not "errors"... lol
No biggy, it might be a faulty messy set up of mine, just letting you guys know.
sidenote: I came back looking for an updated version of your script from 2019 to install ImageMagick!
The text was updated successfully, but these errors were encountered: