User:Arash: Difference between revisions

From ASCEND
Jump to navigation Jump to search
Arash (talk | contribs)
Arash (talk | contribs)
No edit summary
Line 19: Line 19:
== Test models ==
== Test models ==


The following test model is created to test the GPU-based bintokens, the models are proposed by Ben Allan.
The following test model is created to test the GPU-based bintokens, the model was proposed by Ben Allan.




=== Large Distillation Column Model ===
=== Large Distillation Column Model ===


<source lang="a4c">MODEL c4_10_demo_column() REFINES test_demo_column();  
<source lang="a4c">REQUIRE "column.a4l";
         demo IS_A  
MODEL larg_distil() REFINES test_demo_column();
         demo IS_A
         demo_column(['n_butane','n_pentane','n_hexane','n_heptane','n_octane','n_nonane','n_decane'],'n_decane',100,51);
         demo_column(['n_butane','n_pentane','n_hexane','n_heptane','n_octane','n_nonane','n_decane'],'n_decane',100,51);
METHODS  
METHODS
END c4_10_demo_column;</source>
END larg_distil;
</source>


=== Adjusting Number of Equations ===
=== Number of Equations ===
<source lang="a4c">REQUIRE "column.a4l";
MODEL larg_distil() REFINES test_demo_column();
        demo IS_A
        demo_column(['n_butane','n_pentane','n_hexane','n_heptane','n_octane','n_nonane','n_decane'],'n_decane',500,255);
METHODS
END larg_distil;
</source>
 
<source lang="a4c">REQUIRE "column.a4l";
MODEL c5_10_demo_column() REFINES test_demo_column();
        demo,demo2,demo3,demo4 IS_A
        demo_column(['n_butane','n_pentane','n_hexane','n_heptane','n_octane','n_nonane','n_decane'],'n_decane',100,51);
METHODS
END c5_10_demo_column;</source>

Revision as of 22:37, 7 April 2011

Arash Sadrieh is working on developing GPU-based solvers for ASCEND. He is a PhD student at Murdoch University in Western Australia.

Goals

  • Make ASCEND to export models(residuals and jacobian) evaluators to bintokens.
    • reinstate bintoken functionality
    • add gradient calculation support to bintoken stuff
  • Prepare a large model (preferably 100,000+) and a unit test for verifying and benchmarking the NLA solver using this model.
  • Develop a CUDA code generator that creates GPU-based bintokens.
  • Create a new library in ascend (GPU_manager) which is responsible to manage all the GPU related tasks. Including data transfer between host and GPU, launching bintoken CUDA kernels and parallel calculation of the residuals normal (required in line-search algorithm).
  • Fork a new NLA solver from current solver: In the new solver when the solver needs to evaluate a block residual or Jacobian, the call is redirected to GPU_manager.
  • Wrapping appropriate functionality in ascend solver interface that decouples GPU manager from the solver. (The interface should provide batch residual (and Jacobian) evaluation for group of relations).
  • Benchmark the results and probably switch to other many (or multi) core architectures and languages.

Progress

fill in here

Test models

The following test model is created to test the GPU-based bintokens, the model was proposed by Ben Allan.


Large Distillation Column Model

REQUIRE "column.a4l";
MODEL larg_distil() REFINES test_demo_column();
        demo IS_A
        demo_column(['n_butane','n_pentane','n_hexane','n_heptane','n_octane','n_nonane','n_decane'],'n_decane',100,51);
METHODS
END larg_distil;

Number of Equations

REQUIRE "column.a4l";
MODEL larg_distil() REFINES test_demo_column();
        demo IS_A
        demo_column(['n_butane','n_pentane','n_hexane','n_heptane','n_octane','n_nonane','n_decane'],'n_decane',500,255);
METHODS
END larg_distil;
REQUIRE "column.a4l";
MODEL c5_10_demo_column() REFINES test_demo_column();
        demo,demo2,demo3,demo4 IS_A
        demo_column(['n_butane','n_pentane','n_hexane','n_heptane','n_octane','n_nonane','n_decane'],'n_decane',100,51);
METHODS
END c5_10_demo_column;