| 774 | } |
| 775 | |
| 776 | void QueueRuntime::generate_queue(C_task_seq* &queue_symb_, |
| 777 | list<C_task_seq*>* & queue_static_, |
| 778 | vector<C_task_seq *>* &queue_dynamic_, |
| 779 | list<C_task *> &queue_null_, |
| 780 | // list<C_task *> &queue_dummy_, |
| 781 | Dissection::Tree* btree, |
| 782 | vector<int>* children, |
| 783 | vector<C_task *>* tasks_SparseSymb, |
| 784 | vector<C_task *>* tasks_SparseNum, |
| 785 | vector<C_task *>* tasks_SparseLocalSchur, |
| 786 | vector<C_task *>* tasks_DFillSym, |
| 787 | vector<C_task *>* tasks_DFullLDLt, |
| 788 | vector<C_task *>* tasks_DTRSMScale, |
| 789 | vector<C_task *>* tasks_DGEMM, |
| 790 | vector<C_task *>** tasks_Dsub, |
| 791 | vector<C_task *>* tasks_deallocLower, |
| 792 | vector<C_task *>* tasks_deallocLocalSchur, |
| 793 | long **nops_queue, |
| 794 | vector<vector<int> > all_fathersIndex, |
| 795 | vector<int> nrow_DFullLDLt, |
| 796 | vector<bool> isMergedDTRSM, |
| 797 | vector<bool> isDividedDTRSM, |
| 798 | const int level_last) |
| 799 | { |
| 800 | // begin : task squence for symmbolic factorization |
| 801 | const int num_threads = _num_threads; |
| 802 | const int nb_doms_dense = (1U << level_last) - 1; |
| 803 | |
| 804 | { //begin scope : task_name |
| 805 | list<C_task_seq*> queue_tmp; |
| 806 | string task_name = "l " + to_string(level_last); |
| 807 | |
| 808 | const int begdom = 1U << level_last; |
| 809 | const int enddom = begdom * 2; |
| 810 | |
| 811 | for (int d = begdom; d < enddom; d++) { |
| 812 | const int j = d - begdom; |
| 813 | C_task_seq* tmp = |
| 814 | new C_task_seq(C_SPARSESYMBFACT, |
| 815 | _null_name, // dummy |
| 816 | (-1), // mutex_id |
| 817 | TASK_SINGLE, |
| 818 | 1, |
| 819 | level_last, |
| 820 | (-1), // phase |
| 821 | &tasks_SparseSymb[j], |
| 822 | 0, |
| 823 | 1, |
| 824 | *(tasks_SparseSymb[j][0]->ops_complexity)); |
| 825 | queue_tmp.push_back(tmp); |
| 826 | } |
| 827 | // |
| 828 | queue_tmp.sort(C_task_seq_complexity_greater); |
| 829 | vector<C_task *> *task_tmp = new vector<C_task *>; |
| 830 | task_tmp->resize(begdom); |
| 831 | int k = 0; |
| 832 | for (list<C_task_seq*>::iterator it = queue_tmp.begin(); |
| 833 | it != queue_tmp.end(); ++it, k++) { |
no test coverage detected