Example #1
0
int  main(int argc, char* argv[])
{
    ConfigXML cfg = set_parameters("SingleSampleCCE.xml");

    string log_file = LOG_PATH + cfg.getStringParameter("Data", "log_file");
    _START_EASYLOGGINGPP(argc, argv);
    easyloggingpp::Configurations confFromFile(log_file.c_str());
    easyloggingpp::Loggers::reconfigureAllLoggers(confFromFile);

    
    int worker_num(0), my_rank(0);
    int mpi_status = MPI_Init(&argc, &argv);
    assert (mpi_status == MPI_SUCCESS);

    MPI_Comm_size(MPI_COMM_WORLD, &worker_num);
    MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

    LOG(INFO) << "my_rank = " << my_rank << "  vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv Program begins vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"; 

    // create defect center
    NVCenter nv = create_defect_center(cfg);

    // CCE
    SingleSampleCCE sol(my_rank, worker_num, &nv, cfg);
    sol.run();

    LOG(INFO) << "my_rank = " << my_rank << "  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Program ends ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"; 

    mpi_status = MPI_Finalize();
    assert (mpi_status == MPI_SUCCESS);
}
Example #2
0
int main(int argc, char ** argv) {
    
    el::Configurations confFromFile("./dev_controller-logger.conf");
    el::Loggers::reconfigureAllLoggers(confFromFile);
    
    if (argc < 10) {
        std::cout<<"dev_controller mqtt_clientid mqtt_username mqtt_password mqtt_connuri, zmq_listenuri redisIPAddr redisPort zookeeperAddrList mongodbUri"<<std::endl;
        return -1;
    }
    
    char hostName[64] = {0};

    int ret = gethostname(hostName, sizeof(hostName)-1);
    if (ret != 0) {
        strcpy(hostName, "pigeon-host");
    }
    
    pid_t procId = getpid();
    char postfix[128] = {0};
    sprintf(postfix, ":%s_%d:", hostName, procId);
    dev_ctl_id += postfix;

    g_stopflag.test_and_set();    
    signal(SIGINT, sigIntHandler);
    signal(SIGTERM, sigIntHandler);

    auto upListener = std::make_shared<UsrPortalMsgListener>();

    gPtrZmqEndInst = std::make_shared<pigeon::ZmqEnd>(argv[5]);
    gPtrZmqEndInst->setMsgListener(upListener);
    gPtrZmqEndInst->startMsgLoop();

    //reg own service into zookeeper
    char svcid[128] = {0};
    sprintf(svcid, "%s_%d", hostName, procId);
    DevCtlServiceInfo sInfo(argv[5], svcid); 
    DevCtlServiceReg  sGeg(argv[8], service_path, sInfo.getServiceInfoJson());
    ret = sGeg.RegService();
    if (ret != 0) {
        LOG(ERROR) << "reg own service into zookeeper fail!";        
        gPtrZmqEndInst->finMsgLoop();
        return -1;
    }
    //DevQueryEnd
    gPtrDqEnd = std::unique_ptr<DevQueryEnd>(new DevQueryEnd(gPtrZmqEndInst, argv[6], atoi(argv[7])));
    gPtrDqEnd->start();

    //DevOptEnd
    gPtrDOpEnd = std::unique_ptr<DevOptEnd>(new DevOptEnd(dev_ctl_id, gPtrZmqEndInst, argv[1], argv[2], argv[3], argv[4], argv[6], atoi(argv[7]), argv[9]));
    gPtrDOpEnd->start();

    while(g_stopflag.test_and_set()) {
        std::this_thread::sleep_for(std::chrono::milliseconds(200));
    }

    gPtrZmqEndInst->finMsgLoop();
    gPtrDqEnd->stop();
    gPtrDOpEnd->stop();
    return 0;
}
Example #3
0
int  main(int argc, char* argv[])
{
    po::variables_map para = ParseCommandLineOptions(argc, argv);

    ////////////////////////////////////////////////////////////////////////////////
    //{{{  MPI Preparation
    int worker_num(0), my_rank(0);
    int mpi_status = MPI_Init(&argc, &argv);
    assert (mpi_status == MPI_SUCCESS);

    MPI_Comm_size(MPI_COMM_WORLD, &worker_num);
    MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
    //}}}
    ////////////////////////////////////////////////////////////////////////////////
    
    ////////////////////////////////////////////////////////////////////////////////
    //{{{ LOGGING 
    string log_file = LOG_PATH +  para["logfile"].as<string>();
    _START_EASYLOGGINGPP(argc, argv);
    easyloggingpp::Configurations confFromFile(log_file.c_str());
    easyloggingpp::Loggers::reconfigureAllLoggers(confFromFile);
    //}}}
    ////////////////////////////////////////////////////////////////////////////////

    LOG(INFO) << "my_rank = " << my_rank << "  vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv Program begins vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"; 

    EnsembleCCE sol(my_rank, worker_num, para);

    // Step 1: make a defect center
    NVCenter nv = create_defect_center(para);  
    sol.set_defect_center(&nv);

    // Step 2: make bath spins 
    cSpinSourceUniformRandom spinUR = create_spin_source(para);
    sol.set_bath_spin(&spinUR);
    
    
    // Step 3: make clusters
    cSpinCollection bath_spins = sol.getSpinCollecion();
    cDepthFirstPathTracing   dfpt = create_spin_cluster_algrithm(para, bath_spins);
    sol.set_bath_cluster(&dfpt);

    // Step 4: run_each_cluster 
    sol.run_each_clusters();

    // Step 5: post_treatment
    sol.post_treatment();

    LOG(INFO) << "my_rank = " << my_rank << "  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Program ends ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"; 

    ////////////////////////////////////////////////////////////////////////////////
    //{{{ MPI Finializing
    mpi_status = MPI_Finalize();
    assert (mpi_status == MPI_SUCCESS);
    //}}}
    ////////////////////////////////////////////////////////////////////////////////
}
INITIALIZE_EASYLOGGINGPP

int main(void) {

    // If we log before configuration, we will end up with heaps of internal errors because ELPP_NO_DEFAULT_LOG_FILE is defined before include
    el::Configurations confFromFile("../default-logger.conf");

    el::Loggers::reconfigureAllLoggers(confFromFile); 
     
    LOG(INFO) << "Logging after configured!";
    return 0;
}
Example #5
0
INITIALIZE_EASYLOGGINGPP

int main(int argc, char *arcv[]) {

    std::string conf = "../conf/easylogging++.conf";

    el::Loggers::addFlag(el::LoggingFlag::ColoredTerminalOutput);
    el::Loggers::addFlag(el::LoggingFlag::HierarchicalLogging);
    el::Configurations confFromFile(conf);
    el::Loggers::reconfigureAllLoggers(confFromFile); 

    exit(EXIT_SUCCESS);
}