Complation error on Fedora release 39 (Thirty Nine) with clang 17.0.6

Aperta Adatta ai principianti
#509 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
68/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
cpp, fedora, linux
Ambito
build-system

Direzione di ricerca

Apri src/ggml-bitnet-mad.cpp intorno alla riga 811 e riproduci la build su Fedora 39 con clang 17.0.6. Verifica che l’errore di constness segnalato sia risolto e che BitNet venga compilato correttamente dopo la modifica mirata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Compilation fails with message:

while building BitNet on linux with clang17 I have following error:

      |                                      ^
/root/bitnet/BitNet/src/ggml-bitnet-mad.cpp:811:18: error: cannot initialize a variable of type 'int8_t *' (aka 'signed char *') with an rvalue of type 'const int8_t *' (aka 'const signed char *')
  811 |         int8_t * y_col = y + col * by;
      |                  ^       ~~~~~~~~~~~~`

possible solution:

diff --git a/src/ggml-bitnet-mad.cpp b/src/ggml-bitnet-mad.cpp
index 4ba9d65..019e25c 100644
--- a/src/ggml-bitnet-mad.cpp
+++ b/src/ggml-bitnet-mad.cpp
@@ -808,7 +808,7 @@ void ggml_vec_dot_i2_i8_s_Nx1(int n, float * s, size_t bs, const void * vx, size
             accu[iy] = _mm256_setzero_si256();
         }

-        int8_t * y_col = y + col * by;
+        const int8_t * y_col = y + col * by;

         for (int i = 0; i < group32_num; i++) {
             const uint8_t *px = x + i * 1024;
@@ -1053,4 +1053,4 @@ void ggml_vec_dot_i2_i8_s(int n, float * s, size_t bs, const void * vx, size_t b
     {
         ggml_vec_dot_i2_i8_s_1x1(n, s, bs, vx, bx, vy, by, nrc);
     }
-}

it compiles.

Lingua principale
C++
Stelle
40.3k
Fork
3.7k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/BitNet

Tutte le issue di microsoft/BitNet

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.