Chameleon issueshttps://gitlab.inria.fr/solverstack/chameleon/-/issues2023-05-30T13:27:33+02:00https://gitlab.inria.fr/solverstack/chameleon/-/issues/35Add HQR support within SVD/EVD reduction algorithms2023-05-30T13:27:33+02:00Mathieu FavergeAdd HQR support within SVD/EVD reduction algorithmsOnce issue #33 has been solved, we should add the support for automatic trees within SVD/EVD reduction to band algorithms.Once issue #33 has been solved, we should add the support for automatic trees within SVD/EVD reduction to band algorithms.Chameleon 1.3.0LISITO AlyciaLISITO Alyciahttps://gitlab.inria.fr/solverstack/chameleon/-/issues/39Adding gflop for each task2023-05-30T13:30:44+02:00THIBAULT Samuelsamuel.thibault@inria.frAdding gflop for each taskIt'd be useful to add the amount of GFlop for each StarPU codelet, this way:
starpu_task_insert(..., STARPU_FLOPS, MULS(nb) + ADDS(nb), ...);It'd be useful to add the amount of GFlop for each StarPU codelet, this way:
starpu_task_insert(..., STARPU_FLOPS, MULS(nb) + ADDS(nb), ...);Chameleon 1.3.0https://gitlab.inria.fr/solverstack/chameleon/-/issues/23Add parameter to codelets for task locality2017-08-23T15:35:13+02:00Mathieu FavergeAdd parameter to codelets for task localityRight now the task locality is based on the RW data from each codelet. Some codelets have an attemps fo changing the task locality by looking at the data sizes. This should not be done at the codelet level as the amounbt of information i...Right now the task locality is based on the RW data from each codelet. Some codelets have an attemps fo changing the task locality by looking at the data sizes. This should not be done at the codelet level as the amounbt of information is really low, but at the algorithm level.
Thus, we need to add a locality parameter in the codelet, and affect this parameter in all algorithm. By default, I suggest we keep the owner compute rules, and then we will discuss the possibility to change this rules for trsv like function as it is done now at codelet level.https://gitlab.inria.fr/solverstack/chameleon/-/issues/14Add truncated SVD support2023-05-30T13:27:46+02:00Mathieu FavergeAdd truncated SVD supportFollowing the discussion with Duygu Kan during PLA 2017Following the discussion with Duygu Kan during PLA 2017Chameleon 1.3.0Mathieu FavergeMathieu Favergehttps://gitlab.inria.fr/solverstack/chameleon/-/issues/58Add the PLTMG matrix generator from PLASMA/DPLASMA2023-05-30T13:31:52+02:00Mathieu FavergeAdd the PLTMG matrix generator from PLASMA/DPLASMAChameleon 1.3.0https://gitlab.inria.fr/solverstack/chameleon/-/issues/69PaRSEC issue with WAR2020-03-03T15:56:58+01:00Mathieu FavergePaRSEC issue with WARWe actually have an issue with PaRSEC which has trouble with WAR in some of the testings. Especially with the POTRI testing that is failing once over a few tenth of runs.
@all should we keep it, or should we disable the PaRSEC support in...We actually have an issue with PaRSEC which has trouble with WAR in some of the testings. Especially with the POTRI testing that is failing once over a few tenth of runs.
@all should we keep it, or should we disable the PaRSEC support in Chameleon?https://gitlab.inria.fr/solverstack/chameleon/-/issues/72Would need matrix name for tracing, benchmarking, etc. tools2023-07-03T16:00:22+02:00THIBAULT Samuelsamuel.thibault@inria.frWould need matrix name for tracing, benchmarking, etc. toolsHello,
When using tracing, benchmarking, etc. tools with StarPU, we have the tile coordinates thanks to the call to starpu_data_set_coordinates . We would however need to also call starpu_data_set_name to provide a name for the matrix. ...Hello,
When using tracing, benchmarking, etc. tools with StarPU, we have the tile coordinates thanks to the call to starpu_data_set_coordinates . We would however need to also call starpu_data_set_name to provide a name for the matrix. For instance with time_zgemm_tile, 3 matrices are used (A,B,C), and if tracing tools only provide the tile coordinates, one don't know whether it's A, B, or C.
AIUI, that'd require to add a string parameter to PASTE_CODE_ALLOCATE_MATRIX_TILE (or perhaps automatically stringify the descA parameter?), to pass it as a new parameter to CHAMELEON_Desc_Create_* and to chameleon_desc_init. Or do you prefer to introduce another function, that PASTE_CODE_ALLOCATE_MATRIX_TILE would call after Desc_Create ?
SamuelChameleon 1.3.0https://gitlab.inria.fr/solverstack/chameleon/-/issues/80LASCAL alpha data type2023-05-27T17:06:00+02:00BARROS DE ASSIS LucasLASCAL alpha data typeThe alpha parameter used for scaling at the operation LASCAL is a *CHAMELEON_Complex64_t*. Is there any application that scales a matrix by a complex factor? If not, should it not be changed for a *float* or *double*?The alpha parameter used for scaling at the operation LASCAL is a *CHAMELEON_Complex64_t*. Is there any application that scales a matrix by a complex factor? If not, should it not be changed for a *float* or *double*?https://gitlab.inria.fr/solverstack/chameleon/-/issues/98xlatms2020-10-12T17:21:03+02:00Mathieu Favergexlatms- [ ] Check why mode 5 creates NaN number with "s" and seedA = 2112255763
- [ ] Add supports for all distributions of random numbers- [ ] Check why mode 5 creates NaN number with "s" and seedA = 2112255763
- [ ] Add supports for all distributions of random numbershttps://gitlab.inria.fr/solverstack/chameleon/-/issues/100Hmat: Add documentation on how to compile and run some tests2021-04-26T11:43:47+02:00Mathieu FavergeHmat: Add documentation on how to compile and run some testsWe need to add a section on how to use H-Mat and the associated testings.We need to add a section on how to use H-Mat and the associated testings.https://gitlab.inria.fr/solverstack/chameleon/-/issues/106Follow-up from "Put tsub column at the end, to avoid breaking parsing scripts"2023-04-06T10:44:44+02:00Mathieu FavergeFollow-up from "Put tsub column at the end, to avoid breaking parsing scripts"The following discussion from !272 should be addressed:
- [ ] @furmento started a [discussion](https://gitlab.inria.fr/solverstack/chameleon/-/merge_requests/272#note_634383): (+1 comment)
> i'd say to turn it into an issueThe following discussion from !272 should be addressed:
- [ ] @furmento started a [discussion](https://gitlab.inria.fr/solverstack/chameleon/-/merge_requests/272#note_634383): (+1 comment)
> i'd say to turn it into an issuehttps://gitlab.inria.fr/solverstack/chameleon/-/issues/107Add default parameter values in testings' help2024-02-06T12:04:20+01:00Philippe SWARTVAGHERAdd default parameter values in testings' helpIt could be nice if the help of the testing binaries could tell what is default value of the parameters, when parameters are not specified on the CLI.It could be nice if the help of the testing binaries could tell what is default value of the parameters, when parameters are not specified on the CLI.https://gitlab.inria.fr/solverstack/chameleon/-/issues/110Benchmark ratio for the automatic GEMM switch / Follow-up from !3342022-08-29T17:41:36+02:00Mathieu FavergeBenchmark ratio for the automatic GEMM switch / Follow-up from !334The following discussion from !334 should be addressed:
- [ ] @agullo started a [discussion](https://gitlab.inria.fr/solverstack/chameleon/-/merge_requests/334#note_726380): (+1 comment)
> Just a note as a reminder for later on tr...The following discussion from !334 should be addressed:
- [ ] @agullo started a [discussion](https://gitlab.inria.fr/solverstack/chameleon/-/merge_requests/334#note_726380): (+1 comment)
> Just a note as a reminder for later on trying to benchmark and adjust thathttps://gitlab.inria.fr/solverstack/chameleon/-/issues/111Discussion about the stationnary/summa variants2022-09-01T16:50:48+02:00Mathieu FavergeDiscussion about the stationnary/summa variantsThe following discussion from !336 should be addressed:
- [ ] @agullo started a [discussion](https://gitlab.inria.fr/solverstack/chameleon/-/merge_requests/336#note_727548):
> Minor remark about the naming, which shall not prevent...The following discussion from !336 should be addressed:
- [ ] @agullo started a [discussion](https://gitlab.inria.fr/solverstack/chameleon/-/merge_requests/336#note_727548):
> Minor remark about the naming, which shall not prevent merge at it can be modified later on. Do we want `ChamGemmAlgSummaA` or something like `ChamGemmAlgAstat`. Whether or not it becomes SUMMA depends on the used back-end and how collective communications are employed.
>
> And we might have another variable (for instance `ChamGemmAlgExplicitSumma=ON/OFF`) to switch to the variant where SUMMA is forced by explicit copies (when this variant is implemented, which might be worth keeping for matrix products, as we have them at least in the C-stationnary case). ALternatively, if we want to keep a single variable `alg`, then we could have `ChamGemmAlgAstat`, `ChamGemmAlgBstat`, `ChamGemmAlgCstat`, `ChamGemmAlgAuto` and `ChamGemmAlgCstatForceSumma`, where the latter one would be the variant that implements SUMMA with explicit copies (the current `chameleon_pzgemm_summa` and `chameleon_pzhemm_summa` routines).
>
> What do you think?https://gitlab.inria.fr/solverstack/chameleon/-/issues/112Fix REDUX usage2022-11-12T00:33:24+01:00THIBAULT Samuelsamuel.thibault@inria.frFix REDUX usageWhile discussing with Mathieu this morning, we realized that there was apparently a confusion about REDUX. Chameleon is currently using STARPU_MPI_REDUX, but I guess that was not what was intended.
STARPU_MPI_REDUX has the same semantic...While discussing with Mathieu this morning, we realized that there was apparently a confusion about REDUX. Chameleon is currently using STARPU_MPI_REDUX, but I guess that was not what was intended.
STARPU_MPI_REDUX has the same semantic as STARPU_REDUX in terms of code, and notably starpu_mpi_redux_data still needs to be called to collect the results properly, it isn't implemented yet to automatically gather results when a tasks uses the data in non-redux mode (it shouldn't be very complex to do it in starpu_mpi_task_insert, it's just that nobody has taken up the task).
The difference is that STARPU_MPI_REDUX uses one buffer per MPI rank, thus parallelism only between ranks, while STARPU_REDUX uses one buffer per worker, thus complete parallelism (at the expense of memory use).
So all in all I believe that as of now chameleon should still be using STARPU_REDUX, and continue to #undef STARPU_REDUX when in MPI mode, until the automatic reduction gets implemented by somebody.https://gitlab.inria.fr/solverstack/chameleon/-/issues/114Worker parallel do not work with lws2023-01-12T12:10:53+01:00Mathieu FavergeWorker parallel do not work with lwsBe careful in !206
For now, the default scheduler when no GPUs are involved is lws which does not work with the multi-threaded kernel.Be careful in !206
For now, the default scheduler when no GPUs are involved is lws which does not work with the multi-threaded kernel.https://gitlab.inria.fr/solverstack/chameleon/-/issues/119Add tests for the custom distribution2023-07-04T19:08:26+02:00Mathieu FavergeAdd tests for the custom distributionWe need to think how to integrate the custom data distribution into the testings of the CI without killing the CI with twice the number of jobs.We need to think how to integrate the custom data distribution into the testings of the CI without killing the CI with twice the number of jobs.Chameleon 1.3.0https://gitlab.inria.fr/solverstack/chameleon/-/issues/120GETRF: Update the ctest to validate all variations of the LU algorithms.2023-08-31T13:20:28+02:00Mathieu FavergeGETRF: Update the ctest to validate all variations of the LU algorithms.The following discussion from !404.The following discussion from !404.Chameleon 1.3.0https://gitlab.inria.fr/solverstack/chameleon/-/issues/121GETRF: Add the LU with partial pivoting algorithms to the benchmark and docum...2023-08-31T13:20:28+02:00Mathieu FavergeGETRF: Add the LU with partial pivoting algorithms to the benchmark and documentation pageEverything is in the title. LU with partial pivoting (integrated in !404) as a major algorithm should be integrated in the weekly benchmark suite and the result should be integrated into the documentation / webpage.Everything is in the title. LU with partial pivoting (integrated in !404) as a major algorithm should be integrated in the weekly benchmark suite and the result should be integrated into the documentation / webpage.Chameleon 1.3.0https://gitlab.inria.fr/solverstack/chameleon/-/issues/125Use of uninitialized value test parameters2024-02-06T12:04:19+01:00CALLUAUD Abel AnasUse of uninitialized value test parametersIn some configurations, I got valgrind errors related to uninintialized value in getrf_nopiv tests.
Steps to reproduce :
```
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Releas...In some configurations, I got valgrind errors related to uninintialized value in getrf_nopiv tests.
Steps to reproduce :
```
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jamm
$ clang --version
Ubuntu clang version 14.0.0-1ubuntu1.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
$ cmake -Bbuild
-DCMAKE_C_COMPILER=clang
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_C_FLAGS_DEBUG=-gdwarf-4
-DCMAKE_PREFIX_PATH=$HOME/.local
-DCMAKE_INCLUDE_PATH=$HOME/.local/include
-DCMAKE_LIBRARY_PATH=$HOME/.local/lib
$ cmake --build build
$ cd build/testing
$ valgrind ./chameleon_ztesting "-c" "-t" "2" "-g" "0" "-P" "1" "-f" "input/getrf_nopiv.in"
# ...
==290340== Conditional jump or move depends on uninitialised value(s)
==290340== at 0xBE9BCB8: __printf_fp_l (printf_fp.c:396)
==290340== by 0xBEB792C: __printf_fp_spec (vfprintf-internal.c:354)
==290340== by 0xBEB792C: __vfprintf_internal (vfprintf-internal.c:1558)
==290340== by 0xBEC2988: __vsprintf_internal (iovsprintf.c:95)
==290340== by 0xBEA1927: sprintf (sprintf.c:30)
==290340== by 0x1450B8: sprint_complex64 (testing/values.c:489)
==290340== by 0x146D02: run_print_line_partial (testing/run_list.c:948)
==290340== by 0x146E17: run_print_line (testing/run_list.c:1005)
==290340== by 0x11941C: main (chameleon_ztesting.c:249)
# ...
```
Adding the missing variable "bump" for the test "getrf_nopiv", the valgrind errors disappear :
```
$ echo "bump = 16" >> input/getrf_nopiv.in
$ valgrind ./chameleon_ztesting "-c" "-t" "2" "-g" "0" "-P" "1" "-f" "input/getrf_nopiv.in"
# no valgrind error appearing here
```
I could not reproduce it with gcc.
May be related to an issue with test variable initialization and default values #107.https://gitlab.inria.fr/solverstack/chameleon/-/issues/123[restored issue] - [c|z]sytrf & [c|z]sysv check fail with starpu2024-02-13T11:40:26+01:00PRUVOST Florent[restored issue] - [c|z]sytrf & [c|z]sysv check fail with starpuThe ctests test_shm_csytrf, test_shm_csysv, test_mpi_csytrf, test_mpi_csysv (and z cases) are failing.
It seems to have been introduced by 118a491dbb563c906aeaad0b867ece0093c3d1df (see pipeline https://gitlab.inria.fr/solverstack/chamel...The ctests test_shm_csytrf, test_shm_csysv, test_mpi_csytrf, test_mpi_csysv (and z cases) are failing.
It seems to have been introduced by 118a491dbb563c906aeaad0b867ece0093c3d1df (see pipeline https://gitlab.inria.fr/solverstack/chameleon/-/pipelines/830715, jobs test_starpu_shm|mpi_c|z).
There is a bug in the script test.sh so that the return code of the ctest command was not considered.
I'm going to fix the test.sh script in a future merge request.
But for the test_starpu jobs, I have no idea of the problem.
Example of output :
```
test 224
Start 224: test_shm_csytrf
224: Test command: /home/florent/git/solverstack/chameleon/build/testing/chameleon_ctesting "-c" "-t" "2" "-g" "0" "-P" "1" "-f" "input/sytrf.in"
224: Test timeout computed to be: 1500
224: [starpu][esthar][starpu_initialize] Warning: StarPU was configured with --enable-debug (-O0), and is thus not optimized
224: [starpu][esthar][starpu_initialize] Warning: StarPU was configured with --enable-spinlock-check, which slows down a bit
224: Id;Function;threads;gpus;P;Q;mtxfmt;nb;uplo;n;lda;seedA;tsub;time;gflops;RETURN
224: 0;csytrf;2;0;1;1;0;16;121;15;41;846930886;0.000000e+00;7.259700e-05;7.162830e-02;SUCCESS
224: /home/florent/git/starpu/starpu/build/install/lib/libstarpu-1.4.so.2(+0x7c38c)[0x7f52f587c38c]
224: /home/florent/git/starpu/starpu/build/install/lib/libstarpu-1.4.so.2(+0x7d2da)[0x7f52f587d2da]
224: /home/florent/git/starpu/starpu/build/install/lib/libstarpu-1.4.so.2(_starpu_task_submit+0xd4e)[0x7f52f5851f85]
224: /home/florent/git/starpu/starpu/build/install/lib/libstarpu-1.4.so.2(starpu_task_submit+0x30)[0x7f52f5852435]
224: /home/florent/git/starpu/starpu/build/install/lib/libstarpu-1.4.so.2(_starpu_task_insert_v+0x55)[0x7f52f5979a19]
224: /home/florent/git/starpu/starpu/build/install/lib/libstarpu-1.4.so.2(starpu_insert_task+0xb5)[0x7f52f5979db0]
224: /home/florent/git/solverstack/chameleon/build/testing/chameleon_ctesting(INSERT_TASK_cgemm+0x2d9)[0x55751763aa49]
224: /home/florent/git/solverstack/chameleon/build/testing/chameleon_ctesting(chameleon_pcgemm+0x926)[0x5575175f83c6]
224: /home/florent/git/solverstack/chameleon/build/testing/chameleon_ctesting(CHAMELEON_cgemm_Tile_Async+0x2c3)[0x5575175d4b83]
224: /home/florent/git/solverstack/chameleon/build/testing/chameleon_ctesting(CHAMELEON_cgemm_Tile+0x11b)[0x5575175d58bb]
224: /home/florent/git/solverstack/chameleon/build/testing/chameleon_ctesting(check_cxxtrf+0x21c)[0x5575175ab94c]
224: /home/florent/git/solverstack/chameleon/build/testing/chameleon_ctesting(testing_csytrf_desc+0x28c)[0x5575175bc00c]
224: /home/florent/git/solverstack/chameleon/build/testing/chameleon_ctesting(main+0x16e)[0x5575175a61ce]
224: /lib/x86_64-linux-gnu/libc.so.6(+0x29d90)[0x7f52ee029d90]
224: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80)[0x7f52ee029e40]
224: /home/florent/git/solverstack/chameleon/build/testing/chameleon_ctesting(_start+0x25)[0x5575175a7f45]
224:
224: [starpu][_starpu_detect_implicit_data_deps_with_handle][assert failure] Handle 0x55751791bcc0 is not initialized, it cannot be read
224:
224: chameleon_ctesting: ../../src/core/dependencies/implicit_data_deps.c:231: _starpu_detect_implicit_data_deps_with_handle: Assertion `0 && "handle->init_cl"' failed.
1/2 Test #224: test_shm_csytrf ..................Subprocess aborted***Exception: 0.98 sec
test 275
Start 275: test_shm_csytrf_std
```
**Warning**: this issue has been restored from backup and can have been changed. For example, all comments have been lost.Chameleon 1.3.0https://gitlab.inria.fr/solverstack/chameleon/-/issues/11[restored issue] - build all interfaces to the runtimes in one configuration2024-02-13T11:43:05+01:00PRUVOST Florent[restored issue] - build all interfaces to the runtimes in one configurationCurrently we build only one runtime's interface at a time (quark|parsec|starpu).
Could be improved by either building all interfaces or some selected in order to facilitate testing of all interfaces/runtimes.
**Warning**: this issue h...Currently we build only one runtime's interface at a time (quark|parsec|starpu).
Could be improved by either building all interfaces or some selected in order to facilitate testing of all interfaces/runtimes.
**Warning**: this issue has been restored from backup and can have been changed. For example, all comments have been lost.Chameleon 1.3.0https://gitlab.inria.fr/solverstack/chameleon/-/issues/126Check executability at all before checking for features2024-02-13T11:54:34+01:00THIBAULT Samuelsamuel.thibault@inria.frCheck executability at all before checking for featuresJean-Alexandre Collin ended up with odd compilation issues:
```
from /home/jacollin/libs/chameleon/runtime/starpu/control/runtime_async.c:22:
/home/jacollin/libs/chameleon/runtime/starpu/include/runtime_mpi.h:26:20: error: expected decl...Jean-Alexandre Collin ended up with odd compilation issues:
```
from /home/jacollin/libs/chameleon/runtime/starpu/control/runtime_async.c:22:
/home/jacollin/libs/chameleon/runtime/starpu/include/runtime_mpi.h:26:20: error: expected declaration specifiers or ‘...’ before ‘(’ token
26 | static inline void starpu_mpi_data_register( starpu_data_handle_t handle, int64_t tag, int owner )
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/jacollin/libs/chameleon/build/runtime/starpu/include/chameleon_starpu.h:198:2: warning: #warning "WAR dependencies need starpu_mpi_cached_receive support from StarPU 1.2.1 or greater" [-Wcpp]
198 | #warning "WAR dependencies need starpu_mpi_cached_receive support from StarPU 1.2.1 or greater"
```
that was because cmake hadn't detected starpu_mpi_data_register etc. We found that it was because of a missing piece in his LD_LIBRARY_PATH, which was making all tests fail.
Before checking for presence of functions etc., cmake should probably check that a trivial program that includes starpu/starpu-mpi does pass fine, and if not stop there because the rest is doomed to fail, in odd ways such as above.https://gitlab.inria.fr/solverstack/chameleon/-/issues/127CUDA: undefined reference to CUDA_hlag2d2024-03-27T13:59:49+01:00TRAHAY FrancoisCUDA: undefined reference to CUDA_hlag2dI'm trying to build Chameleon with StarPU and CUDA. I've installed StarPU (latest git revision) with support for CUDA. When building Chameleon, I get the following error
```
[ 90%] Linking C executable chameleon_stesting
cd /home/ftraha...I'm trying to build Chameleon with StarPU and CUDA. I've installed StarPU (latest git revision) with support for CUDA. When building Chameleon, I get the following error
```
[ 90%] Linking C executable chameleon_stesting
cd /home/ftrahay/catherine/scripts/software/src/chameleon/build/testing && /usr/bin/cmake -E cmake_link_script CMakeFiles/chameleon_stesting.dir/link.txt --verbose=1
/usr/bin/cc -O2 -g -DNDEBUG -Wl,-rpath -Wl,/home/ftrahay/catherine/scripts/software/install/mpich/lib -Wl,--enable-new-dtags CMakeFiles/chameleon_stesting.dir/chameleon_stesting.c.o CMakeFiles/chameleon_stesting.dir/testing_scheck_aux.c.o CMakeFiles/chameleon_stesting.dir/testing_scheck_blas.c.o CMakeFiles/chameleon_stesting.dir/testing_scheck_facto.c.o CMakeFiles/chameleon_stesting.dir/testing_scheck_qr_lq.c.o CMakeFiles/chameleon_stesting.dir/testing_scheck_svd.c.o CMakeFiles/chameleon_stesting.dir/testing_scheck_polar_decomp.c.o CMakeFiles/chameleon_stesting.dir/testing_sprint.c.o CMakeFiles/chameleon_stesting.dir/testing_slange.c.o CMakeFiles/chameleon_stesting.dir/testing_slansy.c.o CMakeFiles/chameleon_stesting.dir/testing_slantr.c.o CMakeFiles/chameleon_stesting.dir/testing_sgemm.c.o CMakeFiles/chameleon_stesting.dir/testing_ssymm.c.o CMakeFiles/chameleon_stesting.dir/testing_ssyrk.c.o CMakeFiles/chameleon_stesting.dir/testing_ssyr2k.c.o CMakeFiles/chameleon_stesting.dir/testing_strmm.c.o CMakeFiles/chameleon_stesting.dir/testing_strsm.c.o CMakeFiles/chameleon_stesting.dir/testing_spotrf.c.o CMakeFiles/chameleon_stesting.dir/testing_spotrs.c.o CMakeFiles/chameleon_stesting.dir/testing_sposv.c.o CMakeFiles/chameleon_stesting.dir/testing_spotri.c.o CMakeFiles/chameleon_stesting.dir/testing_spoinv.c.o CMakeFiles/chameleon_stesting.dir/testing_slacpy.c.o CMakeFiles/chameleon_stesting.dir/testing_sgeadd.c.o CMakeFiles/chameleon_stesting.dir/testing_stradd.c.o CMakeFiles/chameleon_stesting.dir/testing_slascal.c.o CMakeFiles/chameleon_stesting.dir/testing_strtri.c.o CMakeFiles/chameleon_stesting.dir/testing_slauum.c.o CMakeFiles/chameleon_stesting.dir/testing_sgenm2.c.o CMakeFiles/chameleon_stesting.dir/testing_sgesv_nopiv.c.o CMakeFiles/chameleon_stesting.dir/testing_sgesvd.c.o CMakeFiles/chameleon_stesting.dir/testing_sgetrf.c.o CMakeFiles/chameleon_stesting.dir/testing_sgetrf_nopiv.c.o CMakeFiles/chameleon_stesting.dir/testing_sgetrs_nopiv.c.o CMakeFiles/chameleon_stesting.dir/testing_sgeqrf.c.o CMakeFiles/chameleon_stesting.dir/testing_sorgqr.c.o CMakeFiles/chameleon_stesting.dir/testing_sormqr.c.o CMakeFiles/chameleon_stesting.dir/testing_sgelqf.c.o CMakeFiles/chameleon_stesting.dir/testing_sorglq.c.o CMakeFiles/chameleon_stesting.dir/testing_sormlq.c.o CMakeFiles/chameleon_stesting.dir/testing_sgels.c.o CMakeFiles/chameleon_stesting.dir/testing_sgeqrf_hqr.c.o CMakeFiles/chameleon_stesting.dir/testing_sorgqr_hqr.c.o CMakeFiles/chameleon_stesting.dir/testing_sormqr_hqr.c.o CMakeFiles/chameleon_stesting.dir/testing_sgelqf_hqr.c.o CMakeFiles/chameleon_stesting.dir/testing_sorglq_hqr.c.o CMakeFiles/chameleon_stesting.dir/testing_sormlq_hqr.c.o CMakeFiles/chameleon_stesting.dir/testing_sgels_hqr.c.o CMakeFiles/chameleon_stesting.dir/testing_sgepdf_qdwh.c.o CMakeFiles/chameleon_stesting.dir/testing_sgepdf_qr.c.o CMakeFiles/chameleon_stesting.dir/testing_splrnk.c.o CMakeFiles/chameleon_stesting.dir/testing_scesca.c.o CMakeFiles/chameleon_stesting.dir/testing_sgram.c.o CMakeFiles/chameleon_stesting.dir/values.c.o CMakeFiles/chameleon_stesting.dir/run_list.c.o CMakeFiles/chameleon_stesting.dir/parameters.c.o CMakeFiles/chameleon_stesting.dir/testings.c.o -o chameleon_stesting -Wl,-rpath,/home/ftrahay/catherine/scripts/software/src/chameleon/build/lapack_api:/home/ftrahay/catherine/scripts/software/src/chameleon/build/compute:/home/ftrahay/catherine/scripts/software/src/chameleon/build/runtime/starpu:/home/ftrahay/catherine/scripts/software/src/chameleon/build/hqr/src:/home/ftrahay/catherine/scripts/software/install/mpich/lib:/home/ftrahay/catherine/scripts/software/src/chameleon/build/gpucublas/compute:/usr/local/cuda/lib64:/home/ftrahay/catherine/scripts/software/src/chameleon/build/coreblas/compute: ../lapack_api/libchameleon_lapack.so.1.3.0 ../compute/libchameleon.so.1.3.0 ../runtime/starpu/libchameleon_starpu.so.1.3.0 ../hqr/src/libhqr.so.0.1.0 /home/ftrahay/catherine/scripts/software/install/mpich/lib/libmpi.so ../gpucublas/compute/libgpucublas.so.1.3.0 /usr/local/cuda/lib64/libcublas.so /usr/local/cuda/lib64/libcudart_static.a -ldl /usr/lib/x86_64-linux-gnu/librt.a ../coreblas/compute/libcoreblas.so.1.3.0 -lm /usr/lib/x86_64-linux-gnu/libmkl_gf_lp64.so /usr/lib/x86_64-linux-gnu/libmkl_sequential.so /usr/lib/x86_64-linux-gnu/libmkl_core.so -lm -ldl
/usr/bin/ld : ../runtime/starpu/libchameleon_starpu.so.1.3.0 : référence indéfinie vers « CUDA_hlag2d »
/usr/bin/ld : ../runtime/starpu/libchameleon_starpu.so.1.3.0 : référence indéfinie vers « CUDA_dlag2h »
/usr/bin/ld : ../runtime/starpu/libchameleon_starpu.so.1.3.0 : référence indéfinie vers « CUDA_slag2h »
/usr/bin/ld : ../runtime/starpu/libchameleon_starpu.so.1.3.0 : référence indéfinie vers « CUDA_hlag2s »
/usr/bin/ld : ../runtime/starpu/libchameleon_starpu.so.1.3.0 : référence indéfinie vers « CUDA_dlag2s »
/usr/bin/ld : ../runtime/starpu/libchameleon_starpu.so.1.3.0 : référence indéfinie vers « CUDA_slag2d »
collect2: error: ld returned 1 exit status
make[2]: *** [testing/CMakeFiles/chameleon_stesting.dir/build.make:1378 : testing/chameleon_stesting] Erreur 1
make[2] : on quitte le répertoire « /home/ftrahay/catherine/scripts/software/src/chameleon/build »
make[1]: *** [CMakeFiles/Makefile2:1955 : testing/CMakeFiles/chameleon_stesting.dir/all] Erreur 2
make[1] : on quitte le répertoire « /home/ftrahay/catherine/scripts/software/src/chameleon/build »
make: *** [Makefile:166 : all] Erreur 2
```
Indeed, these symbols are not defined in `libchameleon_starpu.so.1.3.0`:
```
$ nm ./runtime/starpu/libchameleon_starpu.so.1.3.0 |grep "CUDA_.lag"
U CUDA_dlag2h
U CUDA_dlag2s
U CUDA_hlag2d
U CUDA_hlag2s
U CUDA_slag2d
U CUDA_slag2h
```
`CUDA_dlag2h` is defined in `gpucublas/compute/cuda_dlag2h.cu`, but it looks like it is not compiled (adding `#error plop` does not raise any error). I can see that this file is "converted":
```
[ 8%] Generating cuda_slag2h.cu
cd /home/ftrahay/catherine/scripts/software/src/chameleon/build/gpucublas/compute && /usr/bin/cmake -E remove -f cuda_slag2h.cu && /usr/bin/python3 /home/ftrahay/catherine/scripts/software/src/chameleon/cmake_modules/morse_cmake/modules/precision_generator/codegen.py -g -f /home/ftrahay/catherine/scripts/software/src/chameleon/gpucublas/compute/cuda_dlag2h.cu -b /home/ftrahay/catherine/scripts/software/src/chameleon/build/gpucublas/compute -p s -P ./ -D /home/ftrahay/catherine/scripts/software/src/chameleon/cmake_modules/local_subs.py && chmod a-w cuda_slag2h.cu
```
But the generated file is not used after that.
Do you know how to fix this problem ?