@@ -390,80 +390,6 @@ export function computePeakMemoryUsage(
390390 return returnedMemory ;
391391}
392392
393- // Generate extra entries for reporting purposes
394- export function augmentData ( data : CompilerPerformanceData [ ] ) {
395- if ( data === undefined ) return data ;
396- const groups : { [ key : string ] : { [ key : string ] : Set < string > } } = {
397- dynamic : {
398- // NB: Not all of these actually exercise dynamic shapes,
399- // so our numbers may be over-inflated. Threats to validity
400- // listed below. Note that in all cases they are run with
401- // dynamic batch size, so you are at least getting some
402- // information that way.
403- torchbench : new Set ( [
404- // _generate variants are good; they do E2E autoregressive
405- // generation and will induce varying context length.
406- "cm3leon_generate" ,
407- "nanogpt" ,
408- "hf_T5_generate" ,
409- "nanogpt" ,
410- // detection models are ok-ish; the good news is they call
411- // nonzero internally and exercise dynamic shapes that way,
412- // the bad news is we may not run enough iterations with
413- // varying data to get varying numbers of bounding boxes.
414- "detectron2_fcos_r_50_fpn" ,
415- "vision_maskrcnn" ,
416- // this recommendation model internally uses sparse tensors
417- // but once again it's not clear that dynamic shapes is exercised
418- // on this sparsity
419- "dlrm" ,
420- // these language models are only running a single next
421- // word prediction, we're NOT testing dynamic sequence length
422- // performance
423- "llama" ,
424- "BERT_pytorch" ,
425- "hf_T5" ,
426- // the GNN benchmarks only one run one batch so you
427- // aren't actually triggering dynamism (and we didn't
428- // explicitly mark something as dynamic)
429- "basic_gnn_edgecnn" ,
430- "basic_gnn_gcn" ,
431- "basic_gnn_gin" ,
432- "basic_gnn_sage" ,
433- ] ) ,
434- huggingface : new Set ( [ ] ) ,
435- } ,
436- blueberries : {
437- torchbench : new Set ( [
438- "nanogpt" ,
439- "llama" ,
440- "llama_v2_7b_16h" ,
441- "sam" ,
442- "sam_fast" ,
443- "clip" ,
444- "stable_diffusion_text_encoder" ,
445- "hf_Whisper" ,
446- ] ) ,
447- } ,
448- } ;
449-
450- function GenerateGroup ( data : CompilerPerformanceData [ ] , n : string ) {
451- const l = groups [ n ] ;
452- return data
453- . filter ( ( e : CompilerPerformanceData ) => {
454- return e . suite in l && l [ e . suite ] . has ( e . name ) ;
455- } )
456- . map ( ( e ) => {
457- return { ...e , suite : n } ;
458- } ) ;
459- }
460-
461- return ( [ ] as CompilerPerformanceData [ ] ) . concat (
462- data ,
463- ...Object . keys ( groups ) . map ( ( n ) => GenerateGroup ( data , n ) )
464- ) ;
465- }
466-
467393// Use this function to convert the generic benchmark data to the old
468394// CompilerPerformanceData format. Maybe we can get rid of this once
469395// we have a new UX for benchmark dashboard 2.0
0 commit comments