diff --git a/cmake_modules/GenPkgConfig.cmake b/cmake_modules/GenPkgConfig.cmake
index dbc9723c87ca0830443829ecbf3a475b75af170c..16e5e4f4708418c8b81fa5316f90ecd6e86e2b10 100644
--- a/cmake_modules/GenPkgConfig.cmake
+++ b/cmake_modules/GenPkgConfig.cmake
@@ -84,6 +84,7 @@ MACRO(GENERATE_PKGCONFIG_FILE)
     set(CHAMELEON_PKGCONFIG_DEFINITIONS "")
     set(COREBLAS_PKGCONFIG_DEFINITIONS "")
     set(CUDABLAS_PKGCONFIG_DEFINITIONS "")
+    set(HIPBLAS_PKGCONFIG_DEFINITIONS "")
 
     # The link flags specific to this package and any required libraries
     # that don't support PkgConfig
@@ -91,6 +92,7 @@ MACRO(GENERATE_PKGCONFIG_FILE)
     set(CHAMELEON_PKGCONFIG_LIBS "-lchameleon")
     set(COREBLAS_PKGCONFIG_LIBS  "-lcoreblas")
     set(CUDABLAS_PKGCONFIG_LIBS  "-lcudablas")
+    set(HIPBLAS_PKGCONFIG_LIBS  "-lhipblas")
 
     # The link flags for private libraries required by this package but not
     # exposed to applications
@@ -98,12 +100,14 @@ MACRO(GENERATE_PKGCONFIG_FILE)
     set(CHAMELEON_PKGCONFIG_LIBS_PRIVATE "")
     set(COREBLAS_PKGCONFIG_LIBS_PRIVATE  "")
     set(CUDABLAS_PKGCONFIG_LIBS_PRIVATE  "")
+    set(HIPBLAS_PKGCONFIG_LIBS_PRIVATE  "")
 
     # A list of packages required by this package
     set(CHAMELEON_LAPACK_PKGCONFIG_REQUIRED "chameleon")
     set(CHAMELEON_PKGCONFIG_REQUIRED "hqr")
     set(COREBLAS_PKGCONFIG_REQUIRED  "")
     set(CUDABLAS_PKGCONFIG_REQUIRED  "")
+    set(HIPBLAS_PKGCONFIG_REQUIRED  "")
 
     # A list of private packages required by this package but not exposed to
     # applications
@@ -111,47 +115,56 @@ MACRO(GENERATE_PKGCONFIG_FILE)
     set(CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE "")
     set(COREBLAS_PKGCONFIG_REQUIRED_PRIVATE  "")
     set(CUDABLAS_PKGCONFIG_REQUIRED_PRIVATE  "")
-
-    if(CHAMELEON_SCHED_STARPU)
+    set(HIPBLAS_PKGCONFIG_REQUIRED_PRIVATE  "")
+
+    if(CHAMELEON_SCHED_OPENMP)
+        list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_openmp)
+        list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${OpenMP_C_LIBRARIES}")
+    elseif(CHAMELEON_SCHED_PARSEC)
+        list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_parsec)
+        list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${PARSEC_LIBRARIES}")
+        elseif(CHAMELEON_SCHED_QUARK)
+        list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_quark)
+        list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${QUARK_LIBRARIES_DEP}")
+    elseif(CHAMELEON_SCHED_STARPU)
         list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_starpu)
         if ( CHAMELEON_USE_MPI )
             list(APPEND CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE starpumpi-${CHAMELEON_STARPU_VERSION})
         else()
             list(APPEND CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE starpu-${CHAMELEON_STARPU_VERSION})
         endif()
-    elseif(CHAMELEON_SCHED_QUARK)
-        list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_quark)
-        list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${QUARK_LIBRARIES_DEP}")
     endif()
 
     if(NOT CHAMELEON_SIMULATION)
 
         list(APPEND COREBLAS_PKGCONFIG_LIBS_PRIVATE
-        ${LAPACKE_LIBRARIES_DEP}
-        ${CBLAS_LIBRARIES_DEP}
-        )
-        list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE
-        ${EXTRA_LIBRARIES}
+        ${LAPACKE_LIBRARIES}
+        ${CBLAS_LIBRARIES}
         )
         list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "coreblas")
 
         if(CHAMELEON_USE_CUDA)
-            list(APPEND CUDABLAS_PKGCONFIG_LIBS_PRIVATE ${EXTRA_LIBRARIES_CUDA})
+            list(APPEND CUDABLAS_PKGCONFIG_LIBS_PRIVATE ${CUDA_CUBLAS_LIBRARIES})
+            list(APPEND CUDABLAS_PKGCONFIG_REQUIRED "cuda")
             list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "cudablas")
         endif()
 
-    else(NOT CHAMELEON_SIMULATION)
-
-        if(CHAMELEON_USE_CUDA)
-            list(APPEND CHAMELEON_PKGCONFIG_LIBS -lcudablas)
+        if(CHAMELEON_USE_HIP)
+            list(APPEND HIPBLAS_PKGCONFIG_LIBS_PRIVATE ${HIPBLAS_LIBRARIES})
+            list(APPEND HIPBLAS_PKGCONFIG_LIBS_PRIVATE ${HIP_LIBRARIES})
+            list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "hipblas")
         endif()
-        list(APPEND CHAMELEON_PKGCONFIG_LIBS
-        -lcoreblas
-        ${EXTRA_LIBRARIES}
-        )
 
     endif(NOT CHAMELEON_SIMULATION)
 
+    list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE
+    ${M_LIBRARIES}
+    )
+
+    if(CHAMELEON_USE_MPI)
+        list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "mpi")
+    endif()
+
     # Define required package
     # -----------------------
     CLEAN_LIB_LIST(CHAMELEON)
@@ -159,6 +172,9 @@ MACRO(GENERATE_PKGCONFIG_FILE)
     if(CHAMELEON_USE_CUDA)
         CLEAN_LIB_LIST(CUDABLAS)
     endif()
+    if(CHAMELEON_USE_HIP)
+        CLEAN_LIB_LIST(HIPBLAS)
+    endif()
 
     # Create .pc file
     # ---------------
@@ -168,6 +184,9 @@ MACRO(GENERATE_PKGCONFIG_FILE)
     if(CHAMELEON_USE_CUDA)
         SET(_output_cudablas_file "${CMAKE_BINARY_DIR}/cudablas.pc")
     endif()
+    if(CHAMELEON_USE_HIP)
+        SET(_output_hipblas_file "${CMAKE_BINARY_DIR}/hipblas.pc")
+    endif()
 
     # TODO: add url of CHAMELEON releases in .pc file
     CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/chameleon_lapack.pc.in" "${_output_chameleon_lapack_file}" @ONLY)
@@ -176,6 +195,9 @@ MACRO(GENERATE_PKGCONFIG_FILE)
     if(CHAMELEON_USE_CUDA)
         CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/cudablas.pc.in"  "${_output_cudablas_file}" @ONLY)
     endif()
+    if(CHAMELEON_USE_HIP)
+        CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/hipblas.pc.in"  "${_output_hipblas_file}" @ONLY)
+    endif()
 
     # installation
     # ------------
@@ -183,6 +205,7 @@ MACRO(GENERATE_PKGCONFIG_FILE)
     INSTALL(FILES ${_output_chameleon_file} DESTINATION lib/pkgconfig)
     INSTALL(FILES ${_output_coreblas_file}  DESTINATION lib/pkgconfig)
     INSTALL(FILES ${_output_cudablas_file}  DESTINATION lib/pkgconfig)
+    INSTALL(FILES ${_output_hipblas_file}  DESTINATION lib/pkgconfig)
 
 ENDMACRO(GENERATE_PKGCONFIG_FILE)
 
diff --git a/lib/pkgconfig/cudablas.pc.in b/lib/pkgconfig/cudablas.pc.in
index 2511060b2f4806c41d3a63a800cec50f5bd066ab..c9d38dfde8fefcc8737c66ecf2bc2bfba14d3cb2 100644
--- a/lib/pkgconfig/cudablas.pc.in
+++ b/lib/pkgconfig/cudablas.pc.in
@@ -14,7 +14,7 @@ libdir=${exec_prefix}/lib
 includedir=${exec_prefix}/include
 
 Name: cudablas
-Description: Interface to cuBLAS/MAGMA routines + some other auxiliary routines
+Description: Interface to cuBLAS routines + some other auxiliary routines
 Version: @CHAMELEON_VERSION_MAJOR@.@CHAMELEON_VERSION_MINOR@.@CHAMELEON_VERSION_MICRO@
 Cflags: @CUDABLAS_PKGCONFIG_DEFINITIONS@ -I${includedir}
 Libs: -L${libdir} @CUDABLAS_PKGCONFIG_LIBS@
diff --git a/lib/pkgconfig/hipblas.pc.in b/lib/pkgconfig/hipblas.pc.in
new file mode 100644
index 0000000000000000000000000000000000000000..78d0f55d493774f3c7ef0b712073d41ff126f241
--- /dev/null
+++ b/lib/pkgconfig/hipblas.pc.in
@@ -0,0 +1,23 @@
+#
+#  @file hipblas.pc
+#
+#  @copyright 2016-2023 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
+#                       Univ. Bordeaux. All rights reserved.
+#
+#  @version 1.2.0
+#  @author Florent Pruvost
+#  @date 2023-05-03
+#
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${exec_prefix}/include
+
+Name: hipblas
+Description: Interface to hipBLAS routines + some other auxiliary routines
+Version: @CHAMELEON_VERSION_MAJOR@.@CHAMELEON_VERSION_MINOR@.@CHAMELEON_VERSION_MICRO@
+Cflags: @HIPBLAS_PKGCONFIG_DEFINITIONS@ -I${includedir}
+Libs: -L${libdir} @HIPBLAS_PKGCONFIG_LIBS@
+Libs.private: @HIPBLAS_PKGCONFIG_LIBS_PRIVATE@
+Requires: @HIPBLAS_PKGCONFIG_REQUIRED@
+Requires.private: @HIPBLAS_PKGCONFIG_REQUIRED_PRIVATE@