예제 #1
0
        static const std::string value() 
        {
          return  "sum = 0;\n"
                  "for (unsigned int k = (get_group_id(0) * " + main_size() + ")/get_num_groups(0)+ get_local_id(0); k < ((get_group_id(0)+1) * " + main_size() +")/get_num_groups(0); k += get_local_size(0))\n"
                  "  sum += " + dot_product<LHS,RHS>::value("k","k") + ";\n"
                  "shared_memory_ptr[get_local_id(0)] = sum;\n"

                  "for (unsigned int stride = get_local_size(0)/2; stride > 0; stride /= 2)\n"
                  "  {\n"
                  "    barrier(CLK_LOCAL_MEM_FENCE);\n"
                  "    if (get_local_id(0) < stride)\n"
                  "    shared_memory_ptr[get_local_id(0)] += shared_memory_ptr[get_local_id(0)+stride];\n"
                  "  }\n"
                  "barrier(CLK_LOCAL_MEM_FENCE);\n"
                  "if (get_local_id(0) == 0)\n"
                  "  " + ASSIGNED::name() + "[get_group_id(0)] = shared_memory_ptr[0];\n";
        }
예제 #2
0
bool QedoController::OnInit()
{
	
	
	wxInitAllImageHandlers();

    wxSize main_size(800,600);
    wxPoint main_point(0,0);
    // Create the main window
    MainFrame *frame = new MainFrame( wxT("Qedo Controller 0.3") , main_point, main_size);

    // Problem with generic wxNotebook implementation whereby it doesn't size
    // properly unless you set the size again
#if defined(__WIN16__) || defined(__WXMOTIF__)
    int width, height;
    frame->GetSize(& width, & height);
    frame->SetSize(-1, -1, width, height);
#endif

    frame->Show();


    return TRUE;
}