30
30
#include < unistd.h>
31
31
32
32
bool dnnc::cppCodeGen::write () {
33
+ // std::cout << "DBG: " << _graph.getName() << " \n\t";
33
34
34
35
inferDataType typeInference (_graph);
35
36
typeInference.main ();
@@ -352,13 +353,15 @@ std::string dnnc::cppCodeGen::write(opNode &computeNode) {
352
353
return code;
353
354
}
354
355
355
- if (ins.size () == 0 && outs.size () == 1 ) {
356
+ std::vector<std::string> nodeIns = computeNode.inputs ();
357
+ std::vector<std::string> nodeOuts = computeNode.outputs ();
358
+ if (nodeIns.size () == 0 ) {
356
359
code = writeConstantOperator (computeNode, outs);
357
- } else if (ins .size () == 1 && outs .size () == 1 ) {
360
+ } else if (nodeIns .size () == 1 && nodeOuts .size () == 1 ) {
358
361
code = writeUnaryOperator (computeNode, ins, outs);
359
- } else if (ins .size () == 2 && outs .size () == 1 ) {
362
+ } else if (nodeIns .size () == 2 && nodeOuts .size () == 1 ) {
360
363
code = writeBinaryOperator (computeNode, ins, outs);
361
- } else if (ins .size () == 3 && outs .size () == 1 ) {
364
+ } else if (nodeIns .size () == 3 && nodeOuts .size () == 1 ) {
362
365
code = writeTernaryOperator (computeNode, ins, outs);
363
366
} else {
364
367
code = writeCustomOperator (computeNode, ins, outs);
@@ -368,6 +371,7 @@ std::string dnnc::cppCodeGen::write(opNode &computeNode) {
368
371
369
372
std::string dnnc::cppCodeGen::writeConstantOperator (opNode &computeNode,
370
373
std::vector<node *> &outs) {
374
+ // std::cout << "DBG: " << outs.size() << "\n";
371
375
std::string code;
372
376
373
377
assert (outs.size () == 1 );
@@ -411,6 +415,8 @@ std::string dnnc::cppCodeGen::writeConstantOperator(opNode &computeNode,
411
415
std::string dnnc::cppCodeGen::writeUnaryOperator (opNode &computeNode,
412
416
std::vector<node *> &ins,
413
417
std::vector<node *> &outs) {
418
+ // std::cout << "DBG: " << computeNode.name() << " " << ins.size() << " " <<
419
+ // outs.size() << "\n";
414
420
std::string code;
415
421
416
422
assert (ins.size () == 1 && outs.size () == 1 );
@@ -455,6 +461,8 @@ std::string dnnc::cppCodeGen::writeUnaryOperator(opNode &computeNode,
455
461
std::string dnnc::cppCodeGen::writeBinaryOperator (opNode &computeNode,
456
462
std::vector<node *> &ins,
457
463
std::vector<node *> &outs) {
464
+ // std::cout << "DBG: " << computeNode.name() << " " << ins.size() << " " <<
465
+ // outs.size() << "\n";
458
466
std::string code;
459
467
460
468
assert (ins.size () == 2 && outs.size () == 1 );
@@ -500,6 +508,8 @@ std::string dnnc::cppCodeGen::writeBinaryOperator(opNode &computeNode,
500
508
std::string dnnc::cppCodeGen::writeTernaryOperator (opNode &computeNode,
501
509
std::vector<node *> &ins,
502
510
std::vector<node *> &outs) {
511
+ // std::cout << "DBG: " << computeNode.name() << " " << ins.size() << " " <<
512
+ // outs.size() << "\n";
503
513
std::string code;
504
514
505
515
assert (ins.size () == 3 && outs.size () == 1 );
@@ -552,7 +562,6 @@ std::string dnnc::cppCodeGen::writeCustomOperator(opNode &computeNode,
552
562
std::string code =
553
563
_tab + " // operator " + opCode + " is not supported yet.\n " ;
554
564
code += _tab + " // Please file a enhancement request at \n " ;
555
- code += _tab +
556
- " // https://github.com/ai-techsystems/dnnCompiler/issues \n " ;
565
+ code += _tab + " // https://github.com/ai-techsystems/deepC/issues \n " ;
557
566
return code;
558
567
}
0 commit comments