Skip to content

Commit 2824253

Browse files
author
mike dupont
committed
improving on logging
1 parent 2498517 commit 2824253

File tree

5 files changed

+143
-4
lines changed

5 files changed

+143
-4
lines changed

ggml-cuda.cu

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7623,10 +7623,12 @@ static void ggml_cuda_mul_mat(const ggml_tensor * src0, const ggml_tensor * src1
76237623
#endif
76247624

76257625
// debug helpers
7626-
printf("JSON { \"data\":{ \"src0\": { \"%s\" :{ \"ne\" : [ %8d, %8d, %8d, %8d ], \"nb\" : [ %8d, %8d, %8d, %8d ], \"contiguous\":\"%d\", \"transposed\":\"%d\", \"type\": \"%s\", \"name\" : \"%s\"}}, \"src1\": { \"%s\" : { \"ne\" : [ %8d, %8d, %8d, %8d ], \"nb\" : [ %8d, %8d, %8d, %8d ], \"contiguous\":\"%d\", \"transposed\":\"%d\", \"type\": \"%s\", \"name\" : \"%s\"}}}}\n",
7626+
printf("JSON { \"data\":{ \"src0\": { \"%s\" :{ \"ne\" : [ %8d, %8d, %8d, %8d ], \"nb\" : [ %8d, %8d, %8d, %8d ], \"contiguous\":\"%d\", \"transposed\":\"%d\", \"type\": \"%s\", \"name\" : \"%s\"}}, \"src1\": { \"%s\" :{ \"ne\" : [ %8d, %8d, %8d, %8d ], \"nb\" : [ %8d, %8d, %8d, %8d ], \"contiguous\":\"%d\", \"transposed\":\"%d\", \"type\": \"%s\", \"name\" : \"%s\"}}, \"dst\" : { \"%s\" :{ \"ne\" : [ %8d, %8d, %8d, %8d ], \"nb\" : [ %8d, %8d, %8d, %8d ], \"contiguous\":\"%d\", \"transposed\":\"%d\", \"type\": \"%s\", \"name\" : \"%s\"}}}}\n",
76277627
src0->name, src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], src0->nb[0], src0->nb[1], src0->nb[2], src0->nb[3],
76287628
ggml_is_contiguous(src0), ggml_is_transposed(src0), ggml_type_name(src0->type), src0->name,
7629-
src1->name, src1->ne[0], src1->ne[1], src1->ne[2], src1->ne[3], src1->nb[0], src1->nb[1], src1->nb[2], src1->nb[3], ggml_is_contiguous(src1), ggml_is_transposed(src1), ggml_type_name(src1->type), src1->name);
7629+
src1->name, src1->ne[0], src1->ne[1], src1->ne[2], src1->ne[3], src1->nb[0], src1->nb[1], src1->nb[2], src1->nb[3], ggml_is_contiguous(src1), ggml_is_transposed(src1), ggml_type_name(src1->type), src1->name,
7630+
dst->name, dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], dst->nb[0], dst->nb[1], dst->nb[2], dst->nb[3], ggml_is_contiguous(dst), ggml_is_transposed(dst), ggml_type_name(dst->type), dst->name
7631+
);
76307632

76317633
if (!split && all_on_device && !use_tensor_cores && src0->type == GGML_TYPE_F16 && ggml_is_permuted(src0) && ggml_is_permuted(src1) && src1->ne[1] == 1) {
76327634
// KQ single-batch

ggml.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13704,7 +13704,19 @@ static void ggml_compute_forward(struct ggml_compute_params * params, struct ggm
1370413704
if (tensor->op == GGML_OP_NONE) {
1370513705
return;
1370613706
}
13707+
if (tensor->src[1]) {
13708+
fprintf(stderr, "JSON: { \"bop\":%d, \"src\":\"%s\",\"src2\":\"%s\",\"dst\":\"%s\"}\n",
13709+
tensor->op,
13710+
tensor->src[0]->name,
13711+
tensor->src[1]->name,
13712+
tensor->name);
13713+
} else {
13714+
fprintf(stderr, "JSON: { \"uop\":%d, \"src\":\"%s\",\"dst\":\"%s\"}\n",
13715+
tensor->op,
13716+
tensor->src[0]->name,
13717+
tensor->name);
1370713718

13719+
}
1370813720
#ifdef GGML_USE_CUBLAS
1370913721
bool skip_cpu = ggml_cuda_compute_forward(params, tensor);
1371013722
if (skip_cpu) {

grammars/antlr4.gbnf

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
root ::= grammarSpec
2+
grammarSpec ::= grammarDecl prequelConstruct* rules modeSpec* EOF
3+
grammarDecl ::= grammarType identifier SEMI
4+
grammarType ::= (LEXER GRAMMAR) | (PARSER GRAMMAR) | GRAMMAR
5+
prequelConstruct ::= optionsSpec | delegateGrammars | tokensSpec | channelsSpec | action_
6+
optionsSpec ::= OPTIONS (option SEMI)* RBRACE
7+
option ::= identifier ASSIGN optionValue
8+
optionValue ::= (identifier (DOT identifier)*) | STRING_LITERAL | actionBlock | INT
9+
delegateGrammars ::= IMPORT delegateGrammar (COMMA delegateGrammar)* SEMI
10+
delegateGrammar ::= (identifier ASSIGN identifier) | identifier
11+
tokensSpec ::= TOKENS idList? RBRACE
12+
channelsSpec ::= CHANNELS idList? RBRACE
13+
idList ::= identifier (COMMA identifier)* COMMA?
14+
action_ ::= AT (actionScopeName COLONCOLON)? identifier actionBlock
15+
actionScopeName ::= identifier | LEXER | PARSER
16+
actionBlock ::= BEGIN_ACTION ACTION_CONTENT* END_ACTION
17+
argActionBlock ::= BEGIN_ARGUMENT ARGUMENT_CONTENT* END_ARGUMENT
18+
modeSpec ::= MODE identifier SEMI lexerRuleSpec*
19+
rules ::= ruleSpec*
20+
ruleSpec ::= parserRuleSpec | lexerRuleSpec
21+
parserRuleSpec ::= ruleModifiers? RULE_REF argActionBlock? ruleReturns? throwsSpec? localsSpec? rulePrequel* COLON ruleBlock SEMI exceptionGroup
22+
exceptionGroup ::= exceptionHandler* finallyClause?
23+
exceptionHandler ::= CATCH argActionBlock actionBlock
24+
finallyClause ::= FINALLY actionBlock
25+
rulePrequel ::= optionsSpec | ruleAction
26+
ruleReturns ::= RETURNS argActionBlock
27+
throwsSpec ::= THROWS identifier (COMMA identifier)*
28+
localsSpec ::= LOCALS argActionBlock
29+
ruleAction ::= AT identifier actionBlock
30+
ruleModifiers ::= ruleModifier+
31+
ruleModifier ::= PUBLIC | PRIVATE | PROTECTED | FRAGMENT
32+
ruleBlock ::= ruleAltList
33+
ruleAltList ::= labeledAlt (OR labeledAlt)*
34+
labeledAlt ::= alternative (POUND identifier)?
35+
lexerRuleSpec ::= FRAGMENT? TOKEN_REF optionsSpec? COLON lexerRuleBlock SEMI
36+
lexerRuleBlock ::= lexerAltList
37+
lexerAltList ::= lexerAlt (OR lexerAlt)*
38+
lexerAlt ::= (lexerElements lexerCommands?) | ()
39+
lexerElements ::= lexerElement+ | ()
40+
lexerElement ::= (lexerAtom ebnfSuffix?) | (lexerBlock ebnfSuffix?) | (actionBlock QUESTION?)
41+
lexerBlock ::= LPAREN lexerAltList RPAREN
42+
lexerCommands ::= RARROW lexerCommand (COMMA lexerCommand)*
43+
lexerCommand ::= (lexerCommandName LPAREN lexerCommandExpr RPAREN) | lexerCommandName
44+
lexerCommandName ::= identifier | MODE
45+
lexerCommandExpr ::= identifier | INT
46+
altList ::= alternative (OR alternative)*
47+
alternative ::= (elementOptions? element+) | ()
48+
element ::= (labeledElement (ebnfSuffix | ())) | (atom (ebnfSuffix | ())) | ebnf | (actionBlock (QUESTION predicateOptions?)?)
49+
predicateOptions ::= LT predicateOption (COMMA predicateOption)* GT
50+
predicateOption ::= elementOption | (identifier ASSIGN actionBlock)
51+
labeledElement ::= identifier (ASSIGN | PLUS_ASSIGN) (atom | block)
52+
ebnf ::= block blockSuffix?
53+
blockSuffix ::= ebnfSuffix
54+
ebnfSuffix ::= (QUESTION QUESTION?) | (STAR QUESTION?) | (PLUS QUESTION?)
55+
lexerAtom ::= characterRange | terminalDef | notSet | LEXER_CHAR_SET | (DOT elementOptions?)
56+
atom ::= terminalDef | ruleref | notSet | (DOT elementOptions?)
57+
notSet ::= (NOT setElement) | (NOT blockSet)
58+
blockSet ::= LPAREN setElement (OR setElement)* RPAREN
59+
setElement ::= (TOKEN_REF elementOptions?) | (STRING_LITERAL elementOptions?) | characterRange | LEXER_CHAR_SET
60+
block ::= LPAREN (optionsSpec? ruleAction* COLON)? altList RPAREN
61+
ruleref ::= RULE_REF argActionBlock? elementOptions?
62+
characterRange ::= STRING_LITERAL RANGE STRING_LITERAL
63+
terminalDef ::= (TOKEN_REF elementOptions?) | (STRING_LITERAL elementOptions?)
64+
elementOptions ::= LT elementOption (COMMA elementOption)* GT
65+
elementOption ::= identifier | (identifier ASSIGN (identifier | STRING_LITERAL))
66+
identifier ::= RULE_REF | TOKEN_REF

grammars/python.gbnf

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
root ::= (single_input | file_input | eval_input)? EOF
2+
single_input ::= LINE_BREAK | simple_stmt | (compound_stmt LINE_BREAK)
3+
file_input ::= (LINE_BREAK | stmt)+
4+
eval_input ::= testlist LINE_BREAK*
5+
stmt ::= simple_stmt | compound_stmt
6+
compound_stmt ::= (IF test COLON suite elif_clause* else_clause?) | (WHILE test COLON suite else_clause?) | (ASYNC? FOR exprlist IN testlist COLON suite else_clause?) | (TRY COLON suite ((except_clause+ else_clause? finally_clause?) | finally_clause)) | (ASYNC? WITH with_item (COMMA with_item)* COLON suite) | (decorator* (classdef | funcdef))
7+
suite ::= simple_stmt | (LINE_BREAK INDENT stmt+ DEDENT)
8+
decorator ::= AT dotted_name (OPEN_PAREN arglist? CLOSE_PAREN)? LINE_BREAK
9+
elif_clause ::= ELIF test COLON suite
10+
else_clause ::= ELSE COLON suite
11+
finally_clause ::= FINALLY COLON suite
12+
with_item ::= test (AS expr)?
13+
except_clause ::= EXCEPT (test ((COMMA name) | (AS name))?)? COLON suite
14+
classdef ::= CLASS name (OPEN_PAREN arglist? CLOSE_PAREN)? COLON suite
15+
funcdef ::= ASYNC? DEF name OPEN_PAREN typedargslist? CLOSE_PAREN (ARROW test)? COLON suite
16+
typedargslist ::= ((def_parameters COMMA)? ((args (COMMA def_parameters)? (COMMA kwargs)?) | kwargs) COMMA?) | (def_parameters COMMA?)
17+
args ::= STAR named_parameter
18+
kwargs ::= POWER named_parameter
19+
def_parameters ::= def_parameter (COMMA def_parameter)*
20+
def_parameter ::= (named_parameter (ASSIGN test)?) | STAR
21+
named_parameter ::= name (COLON test)?
22+
simple_stmt ::= small_stmt (SEMI_COLON small_stmt)* SEMI_COLON? (LINE_BREAK | EOF)
23+
small_stmt ::= (testlist_star_expr assign_part?) | (PRINT ((test (COMMA test)* COMMA?) | (RIGHT_SHIFT test ((COMMA test)+ COMMA?)))) | (DEL exprlist) | PASS | BREAK | CONTINUE | (RETURN testlist?) | (RAISE (test (COMMA test (COMMA test)?)?)? (FROM test)?) | yield_expr | (IMPORT dotted_as_names) | (FROM (((DOT | ELLIPSIS)* dotted_name) | (DOT | ELLIPSIS)+) IMPORT (STAR | (OPEN_PAREN import_as_names CLOSE_PAREN) | import_as_names)) | (GLOBAL name (COMMA name)*) | (EXEC expr (IN test (COMMA test)?)?) | (ASSERT test (COMMA test)?) | (NONLOCAL name (COMMA name)*)
24+
testlist_star_expr ::= (((test | star_expr) COMMA)+ (test | star_expr)?) | testlist
25+
star_expr ::= STAR expr
26+
assign_part ::= (ASSIGN ((testlist_star_expr (ASSIGN testlist_star_expr)* (ASSIGN yield_expr)?) | yield_expr)) | (COLON test (ASSIGN testlist)?) | ((ADD_ASSIGN | SUB_ASSIGN | MULT_ASSIGN | AT_ASSIGN | DIV_ASSIGN | MOD_ASSIGN | AND_ASSIGN | OR_ASSIGN | XOR_ASSIGN | LEFT_SHIFT_ASSIGN | RIGHT_SHIFT_ASSIGN | POWER_ASSIGN | IDIV_ASSIGN) (yield_expr | testlist))
27+
exprlist ::= expr (COMMA expr)* COMMA?
28+
import_as_names ::= import_as_name (COMMA import_as_name)* COMMA?
29+
import_as_name ::= name (AS name)?
30+
dotted_as_names ::= dotted_as_name (COMMA dotted_as_name)*
31+
dotted_as_name ::= dotted_name (AS name)?
32+
test ::= (logical_test (IF logical_test ELSE test)?) | (LAMBDA varargslist? COLON test)
33+
varargslist ::= ((vardef_parameters COMMA)? ((varargs (COMMA vardef_parameters)? (COMMA varkwargs)?) | varkwargs) COMMA?) | (vardef_parameters COMMA?)
34+
vardef_parameters ::= vardef_parameter (COMMA vardef_parameter)*
35+
vardef_parameter ::= (name (ASSIGN test)?) | STAR
36+
varargs ::= STAR name
37+
varkwargs ::= POWER name
38+
logical_test ::= comparison | (NOT logical_test) | (logical_test AND logical_test) | (logical_test OR logical_test)
39+
comparison ::= (comparison (LESS_THAN | GREATER_THAN | EQUALS | GT_EQ | LT_EQ | NOT_EQ_1 | NOT_EQ_2 | (NOT? IN) | (IS NOT?)) comparison) | expr
40+
expr ::= (AWAIT? atom trailer*) | (expr POWER expr) | ((ADD | MINUS | NOT_OP) expr) | (expr (STAR | DIV | MOD | IDIV | AT) expr) | (expr (ADD | MINUS) expr) | (expr (LEFT_SHIFT | RIGHT_SHIFT) expr) | (expr AND_OP expr) | (expr XOR expr) | (expr OR_OP expr)
41+
atom ::= (OPEN_PAREN (yield_expr | testlist_comp)? CLOSE_PAREN) | (OPEN_BRACKET testlist_comp? CLOSE_BRACKET) | (OPEN_BRACE dictorsetmaker? CLOSE_BRACE) | (REVERSE_QUOTE testlist COMMA? REVERSE_QUOTE) | ELLIPSIS | name | PRINT | EXEC | (MINUS? number) | NONE | STRING+
42+
dictorsetmaker ::= (((test COLON test) | (POWER expr)) (COMMA ((test COLON test) | (POWER expr)))* COMMA?) | (test COLON test comp_for) | testlist_comp
43+
testlist_comp ::= (test | star_expr) (comp_for | ((COMMA (test | star_expr))* COMMA?))
44+
testlist ::= test (COMMA test)* COMMA?
45+
dotted_name ::= (dotted_name DOT name) | name
46+
name ::= NAME | TRUE | FALSE
47+
number ::= integer | IMAG_NUMBER | FLOAT_NUMBER
48+
integer ::= DECIMAL_INTEGER | OCT_INTEGER | HEX_INTEGER | BIN_INTEGER
49+
yield_expr ::= YIELD yield_arg?
50+
yield_arg ::= (FROM test) | testlist
51+
trailer ::= (DOT name arguments?) | arguments
52+
arguments ::= (OPEN_PAREN arglist? CLOSE_PAREN) | (OPEN_BRACKET subscriptlist CLOSE_BRACKET)
53+
arglist ::= argument (COMMA argument)* COMMA?
54+
argument ::= (test (comp_for | (ASSIGN test))?) | ((POWER | STAR) test)
55+
subscriptlist ::= subscript (COMMA subscript)* COMMA?
56+
subscript ::= ELLIPSIS | (test (COLON test? sliceop?)?) | (COLON test? sliceop?)
57+
sliceop ::= COLON test?
58+
comp_for ::= FOR exprlist IN logical_test comp_iter?
59+
comp_iter ::= comp_for | (IF test comp_iter?)

llama.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5618,8 +5618,8 @@ static int llama_decode_internal(
56185618

56195619
// plot the computation graph in dot format (for debugging purposes)
56205620
//if (n_past%100 == 0) {
5621-
// ggml_graph_dump_dot(gf, NULL, "llama.dot");
5622-
//}
5621+
//ggml_graph_dump_dot(gf, NULL, "llama.dot");
5622+
//}
56235623

56245624
// extract logits
56255625
// TODO: do not compute and extract logits if only embeddings are needed

0 commit comments

Comments
 (0)