Chakib Zouaoui | Djilali Liabes Sidi Bel Abbes (original) (raw)
Related Authors
National Institute of Technology, Calicut
City University of Hong Kong
Uploads
Papers by Chakib Zouaoui
IEEE embedded systems letters, 2024
Concurrency and Computation: Practice and Experience
IEEE Transactions on Computers
Ingénierie des systèmes d information, 2021
K-means++ is the clustering algorithm that is created to improve the process of getting initial c... more K-means++ is the clustering algorithm that is created to improve the process of getting initial clusters in the K-means algorithm. The k-means++ algorithm selects initial k-centroids arbitrarily dependent on a probability that is proportional to each data-point distance to the existing centroids. The most noteworthy problem of this algorithm is when running happens in sequential mode, as this reduces the speed of clustering. In this paper, we develop a new parallel k-means++ algorithm using the graphics processing units (GPU) where the Open Computing Language (OpenCL) platform is used as the programming environment to perform the data assignment phase in parallel while the Streaming SIMD Extension (SSE) technology is used to perform the initialization step to select the initial centroids in parallel on CPU. The focus is on optimizations directly targeted to this architecture to exploit the most of the available computing capabilities. Our objective is to minimize runtime while keepi...
Computer Languages, Systems & Structures, 2017
This paper presents a new metaprogramming library, CL ARRAY, that offers multiplatform and generi... more This paper presents a new metaprogramming library, CL ARRAY, that offers multiplatform and generic multidimensional data containers for C++ specifically adapted for parallel programming. The CL ARRAY containers are built around a new formalism for representing the multidimensional nature of data as well as the semantics of multidimensional pointers and contiguous data structures. We also present OCL ARRAY VIEW, a concept based on metaprogrammed enveloped objects that supports multidimensional transformations and multidimensional iterators designed to simplify and formalize the interfacing process between OpenCL APIs, standard template library (STL) algorithms and CL ARRAY containers. Our results demonstrate improved performance and energy savings over the three most popular container libraries available to the developer community for use in the context of multi-linear algebraic applications.
2019 International Conference on Advanced Electrical Engineering (ICAEE)
The K-Means algorithm is one of the most sophisticated and known algorithms for data-clustering. ... more The K-Means algorithm is one of the most sophisticated and known algorithms for data-clustering. In this study, we will show the K-Means algorithm as it relates to OpenCL, which is a widespread parallel ecosystem that is reliable for processing and mining datasets that are large in scale. Additionally, we propose a comparative study of the three most efficient K-means algorithm implementations: The Lloyd-Forgy’s sequential Method Implementation, a parallel implementation targeting the CPU using OpenMP and finally one of the most complex implementations that uses an OpenCL language. Typically, the measure of performance is done using different data sizes. For large datasets under OpenCL, when comparing the GPU-based parallel algorithm to the CPU-based serial algorithm, the results have shown a good acceleration effect. On the other hand, for small data sets, the OpenMP implementation has turned out to be the best choice.
IEEE embedded systems letters, 2024
Concurrency and Computation: Practice and Experience
IEEE Transactions on Computers
Ingénierie des systèmes d information, 2021
K-means++ is the clustering algorithm that is created to improve the process of getting initial c... more K-means++ is the clustering algorithm that is created to improve the process of getting initial clusters in the K-means algorithm. The k-means++ algorithm selects initial k-centroids arbitrarily dependent on a probability that is proportional to each data-point distance to the existing centroids. The most noteworthy problem of this algorithm is when running happens in sequential mode, as this reduces the speed of clustering. In this paper, we develop a new parallel k-means++ algorithm using the graphics processing units (GPU) where the Open Computing Language (OpenCL) platform is used as the programming environment to perform the data assignment phase in parallel while the Streaming SIMD Extension (SSE) technology is used to perform the initialization step to select the initial centroids in parallel on CPU. The focus is on optimizations directly targeted to this architecture to exploit the most of the available computing capabilities. Our objective is to minimize runtime while keepi...
Computer Languages, Systems & Structures, 2017
This paper presents a new metaprogramming library, CL ARRAY, that offers multiplatform and generi... more This paper presents a new metaprogramming library, CL ARRAY, that offers multiplatform and generic multidimensional data containers for C++ specifically adapted for parallel programming. The CL ARRAY containers are built around a new formalism for representing the multidimensional nature of data as well as the semantics of multidimensional pointers and contiguous data structures. We also present OCL ARRAY VIEW, a concept based on metaprogrammed enveloped objects that supports multidimensional transformations and multidimensional iterators designed to simplify and formalize the interfacing process between OpenCL APIs, standard template library (STL) algorithms and CL ARRAY containers. Our results demonstrate improved performance and energy savings over the three most popular container libraries available to the developer community for use in the context of multi-linear algebraic applications.
2019 International Conference on Advanced Electrical Engineering (ICAEE)
The K-Means algorithm is one of the most sophisticated and known algorithms for data-clustering. ... more The K-Means algorithm is one of the most sophisticated and known algorithms for data-clustering. In this study, we will show the K-Means algorithm as it relates to OpenCL, which is a widespread parallel ecosystem that is reliable for processing and mining datasets that are large in scale. Additionally, we propose a comparative study of the three most efficient K-means algorithm implementations: The Lloyd-Forgy’s sequential Method Implementation, a parallel implementation targeting the CPU using OpenMP and finally one of the most complex implementations that uses an OpenCL language. Typically, the measure of performance is done using different data sizes. For large datasets under OpenCL, when comparing the GPU-based parallel algorithm to the CPU-based serial algorithm, the results have shown a good acceleration effect. On the other hand, for small data sets, the OpenMP implementation has turned out to be the best choice.