ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/OpenCL/OpenCL.pm
(Generate patch)

Comparing OpenCL/OpenCL.pm (file contents):
Revision 1.23 by root, Sun Nov 20 22:29:36 2011 UTC vs.
Revision 1.29 by root, Thu Apr 5 07:13:44 2012 UTC

101 101
102Best run this once to get a feel for the platforms and devices in your 102Best run this once to get a feel for the platforms and devices in your
103system. 103system.
104 104
105 for my $platform (OpenCL::platforms) { 105 for my $platform (OpenCL::platforms) {
106 printf "platform: %s\n", $platform->info (OpenCL::PLATFORM_NAME); 106 printf "platform: %s\n", $platform->name;
107 printf "extensions: %s\n", $platform->info (OpenCL::PLATFORM_EXTENSIONS); 107 printf "extensions: %s\n", $platform->extensions;
108 for my $device ($platform->devices) { 108 for my $device ($platform->devices) {
109 printf "+ device: %s\n", $device->info (OpenCL::DEVICE_NAME); 109 printf "+ device: %s\n", $device->name;
110 my $ctx = $device->context; 110 my $ctx = $platform->context (undef, [$device]);
111 # do stuff 111 # do stuff
112 } 112 }
113 } 113 }
114 114
115=head2 Get a useful context and a command queue. 115=head2 Get a useful context and a command queue.
161 161
162 my $prog = $ctx->program_with_source ($src); 162 my $prog = $ctx->program_with_source ($src);
163 163
164 # build croaks on compile errors, so catch it and print the compile errors 164 # build croaks on compile errors, so catch it and print the compile errors
165 eval { $prog->build ($dev); 1 } 165 eval { $prog->build ($dev); 1 }
166 or die $prog->build_info ($dev, OpenCL::PROGRAM_BUILD_LOG); 166 or die $prog->build_log;
167 167
168 my $kernel = $prog->kernel ("squareit"); 168 my $kernel = $prog->kernel ("squareit");
169 169
170=head2 Create some input and output float buffers, then call the 170=head2 Create some input and output float buffers, then call the
171'squareit' kernel on them. 171'squareit' kernel on them.
326 326
327Tries to create a context. Never worked for me, and you need devices explicitly anyway. 327Tries to create a context. Never worked for me, and you need devices explicitly anyway.
328 328
329L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateContextFromType.html> 329L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateContextFromType.html>
330 330
331=item $ctx = $device->context ($properties = undef, @$devices, $notify = undef) 331=item $ctx = $platform->context ($properties = undef, @$devices, $notify = undef)
332 332
333Create a new OpenCL::Context object using the given device object(s)- a 333Create a new OpenCL::Context object using the given device object(s)- a
334CL_CONTEXT_PLATFORM property is supplied automatically. 334CL_CONTEXT_PLATFORM property is supplied automatically.
335 335
336L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateContext.html> 336L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateContext.html>
348 348
349=for gengetinfo begin platform 349=for gengetinfo begin platform
350 350
351=item $string = $platform->profile 351=item $string = $platform->profile
352 352
353Calls C<clGetPlatformInfo> with C<CL_PLATFORM_PROFILE> and returns the result(s). 353Calls C<clGetPlatformInfo> with C<CL_PLATFORM_PROFILE> and returns the result.
354 354
355=item $string = $platform->version 355=item $string = $platform->version
356 356
357Calls C<clGetPlatformInfo> with C<CL_PLATFORM_VERSION> and returns the result(s). 357Calls C<clGetPlatformInfo> with C<CL_PLATFORM_VERSION> and returns the result.
358 358
359=item $string = $platform->name 359=item $string = $platform->name
360 360
361Calls C<clGetPlatformInfo> with C<CL_PLATFORM_NAME> and returns the result(s). 361Calls C<clGetPlatformInfo> with C<CL_PLATFORM_NAME> and returns the result.
362 362
363=item $string = $platform->vendor 363=item $string = $platform->vendor
364 364
365Calls C<clGetPlatformInfo> with C<CL_PLATFORM_VENDOR> and returns the result(s). 365Calls C<clGetPlatformInfo> with C<CL_PLATFORM_VENDOR> and returns the result.
366 366
367=item $string = $platform->extensions 367=item $string = $platform->extensions
368 368
369Calls C<clGetPlatformInfo> with C<CL_PLATFORM_EXTENSIONS> and returns the result(s). 369Calls C<clGetPlatformInfo> with C<CL_PLATFORM_EXTENSIONS> and returns the result.
370 370
371=for gengetinfo end platform 371=for gengetinfo end platform
372 372
373=back 373=back
374 374
384 384
385=for gengetinfo begin device 385=for gengetinfo begin device
386 386
387=item $device_type = $device->type 387=item $device_type = $device->type
388 388
389Calls C<clGetDeviceInfo> with C<CL_DEVICE_TYPE> and returns the result(s). 389Calls C<clGetDeviceInfo> with C<CL_DEVICE_TYPE> and returns the result.
390 390
391=item $uint = $device->vendor_id 391=item $uint = $device->vendor_id
392 392
393Calls C<clGetDeviceInfo> with C<CL_DEVICE_VENDOR_ID> and returns the result(s). 393Calls C<clGetDeviceInfo> with C<CL_DEVICE_VENDOR_ID> and returns the result.
394 394
395=item $uint = $device->max_compute_units 395=item $uint = $device->max_compute_units
396 396
397Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_COMPUTE_UNITS> and returns the result(s). 397Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_COMPUTE_UNITS> and returns the result.
398 398
399=item $uint = $device->max_work_item_dimensions 399=item $uint = $device->max_work_item_dimensions
400 400
401Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS> and returns the result(s). 401Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS> and returns the result.
402 402
403=item $int = $device->max_work_group_size 403=item $int = $device->max_work_group_size
404 404
405Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_WORK_GROUP_SIZE> and returns the result(s). 405Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_WORK_GROUP_SIZE> and returns the result.
406 406
407=item @ints = $device->max_work_item_sizes 407=item @ints = $device->max_work_item_sizes
408 408
409Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_WORK_ITEM_SIZES> and returns the result(s). 409Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_WORK_ITEM_SIZES> and returns the result.
410 410
411=item $uint = $device->preferred_vector_width_char 411=item $uint = $device->preferred_vector_width_char
412 412
413Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR> and returns the result(s). 413Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR> and returns the result.
414 414
415=item $uint = $device->preferred_vector_width_short 415=item $uint = $device->preferred_vector_width_short
416 416
417Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT> and returns the result(s). 417Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT> and returns the result.
418 418
419=item $uint = $device->preferred_vector_width_int 419=item $uint = $device->preferred_vector_width_int
420 420
421Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT> and returns the result(s). 421Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT> and returns the result.
422 422
423=item $uint = $device->preferred_vector_width_long 423=item $uint = $device->preferred_vector_width_long
424 424
425Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG> and returns the result(s). 425Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG> and returns the result.
426 426
427=item $uint = $device->preferred_vector_width_float 427=item $uint = $device->preferred_vector_width_float
428 428
429Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT> and returns the result(s). 429Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT> and returns the result.
430 430
431=item $uint = $device->preferred_vector_width_double 431=item $uint = $device->preferred_vector_width_double
432 432
433Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE> and returns the result(s). 433Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE> and returns the result.
434 434
435=item $uint = $device->max_clock_frequency 435=item $uint = $device->max_clock_frequency
436 436
437Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_CLOCK_FREQUENCY> and returns the result(s). 437Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_CLOCK_FREQUENCY> and returns the result.
438 438
439=item $bitfield = $device->address_bits 439=item $bitfield = $device->address_bits
440 440
441Calls C<clGetDeviceInfo> with C<CL_DEVICE_ADDRESS_BITS> and returns the result(s). 441Calls C<clGetDeviceInfo> with C<CL_DEVICE_ADDRESS_BITS> and returns the result.
442 442
443=item $uint = $device->max_read_image_args 443=item $uint = $device->max_read_image_args
444 444
445Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_READ_IMAGE_ARGS> and returns the result(s). 445Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_READ_IMAGE_ARGS> and returns the result.
446 446
447=item $uint = $device->max_write_image_args 447=item $uint = $device->max_write_image_args
448 448
449Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_WRITE_IMAGE_ARGS> and returns the result(s). 449Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_WRITE_IMAGE_ARGS> and returns the result.
450 450
451=item $ulong = $device->max_mem_alloc_size 451=item $ulong = $device->max_mem_alloc_size
452 452
453Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_MEM_ALLOC_SIZE> and returns the result(s). 453Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_MEM_ALLOC_SIZE> and returns the result.
454 454
455=item $int = $device->image2d_max_width 455=item $int = $device->image2d_max_width
456 456
457Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE2D_MAX_WIDTH> and returns the result(s). 457Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE2D_MAX_WIDTH> and returns the result.
458 458
459=item $int = $device->image2d_max_height 459=item $int = $device->image2d_max_height
460 460
461Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE2D_MAX_HEIGHT> and returns the result(s). 461Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE2D_MAX_HEIGHT> and returns the result.
462 462
463=item $int = $device->image3d_max_width 463=item $int = $device->image3d_max_width
464 464
465Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE3D_MAX_WIDTH> and returns the result(s). 465Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE3D_MAX_WIDTH> and returns the result.
466 466
467=item $int = $device->image3d_max_height 467=item $int = $device->image3d_max_height
468 468
469Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE3D_MAX_HEIGHT> and returns the result(s). 469Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE3D_MAX_HEIGHT> and returns the result.
470 470
471=item $int = $device->image3d_max_depth 471=item $int = $device->image3d_max_depth
472 472
473Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE3D_MAX_DEPTH> and returns the result(s). 473Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE3D_MAX_DEPTH> and returns the result.
474 474
475=item $uint = $device->image_support 475=item $uint = $device->image_support
476 476
477Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE_SUPPORT> and returns the result(s). 477Calls C<clGetDeviceInfo> with C<CL_DEVICE_IMAGE_SUPPORT> and returns the result.
478 478
479=item $int = $device->max_parameter_size 479=item $int = $device->max_parameter_size
480 480
481Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_PARAMETER_SIZE> and returns the result(s). 481Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_PARAMETER_SIZE> and returns the result.
482 482
483=item $uint = $device->max_samplers 483=item $uint = $device->max_samplers
484 484
485Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_SAMPLERS> and returns the result(s). 485Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_SAMPLERS> and returns the result.
486 486
487=item $uint = $device->mem_base_addr_align 487=item $uint = $device->mem_base_addr_align
488 488
489Calls C<clGetDeviceInfo> with C<CL_DEVICE_MEM_BASE_ADDR_ALIGN> and returns the result(s). 489Calls C<clGetDeviceInfo> with C<CL_DEVICE_MEM_BASE_ADDR_ALIGN> and returns the result.
490 490
491=item $uint = $device->min_data_type_align_size 491=item $uint = $device->min_data_type_align_size
492 492
493Calls C<clGetDeviceInfo> with C<CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE> and returns the result(s). 493Calls C<clGetDeviceInfo> with C<CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE> and returns the result.
494 494
495=item $device_fp_config = $device->single_fp_config 495=item $device_fp_config = $device->single_fp_config
496 496
497Calls C<clGetDeviceInfo> with C<CL_DEVICE_SINGLE_FP_CONFIG> and returns the result(s). 497Calls C<clGetDeviceInfo> with C<CL_DEVICE_SINGLE_FP_CONFIG> and returns the result.
498 498
499=item $device_mem_cache_type = $device->global_mem_cache_type 499=item $device_mem_cache_type = $device->global_mem_cache_type
500 500
501Calls C<clGetDeviceInfo> with C<CL_DEVICE_GLOBAL_MEM_CACHE_TYPE> and returns the result(s). 501Calls C<clGetDeviceInfo> with C<CL_DEVICE_GLOBAL_MEM_CACHE_TYPE> and returns the result.
502 502
503=item $uint = $device->global_mem_cacheline_size 503=item $uint = $device->global_mem_cacheline_size
504 504
505Calls C<clGetDeviceInfo> with C<CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE> and returns the result(s). 505Calls C<clGetDeviceInfo> with C<CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE> and returns the result.
506 506
507=item $ulong = $device->global_mem_cache_size 507=item $ulong = $device->global_mem_cache_size
508 508
509Calls C<clGetDeviceInfo> with C<CL_DEVICE_GLOBAL_MEM_CACHE_SIZE> and returns the result(s). 509Calls C<clGetDeviceInfo> with C<CL_DEVICE_GLOBAL_MEM_CACHE_SIZE> and returns the result.
510 510
511=item $ulong = $device->global_mem_size 511=item $ulong = $device->global_mem_size
512 512
513Calls C<clGetDeviceInfo> with C<CL_DEVICE_GLOBAL_MEM_SIZE> and returns the result(s). 513Calls C<clGetDeviceInfo> with C<CL_DEVICE_GLOBAL_MEM_SIZE> and returns the result.
514 514
515=item $ulong = $device->max_constant_buffer_size 515=item $ulong = $device->max_constant_buffer_size
516 516
517Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE> and returns the result(s). 517Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE> and returns the result.
518 518
519=item $uint = $device->max_constant_args 519=item $uint = $device->max_constant_args
520 520
521Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_CONSTANT_ARGS> and returns the result(s). 521Calls C<clGetDeviceInfo> with C<CL_DEVICE_MAX_CONSTANT_ARGS> and returns the result.
522 522
523=item $device_local_mem_type = $device->local_mem_type 523=item $device_local_mem_type = $device->local_mem_type
524 524
525Calls C<clGetDeviceInfo> with C<CL_DEVICE_LOCAL_MEM_TYPE> and returns the result(s). 525Calls C<clGetDeviceInfo> with C<CL_DEVICE_LOCAL_MEM_TYPE> and returns the result.
526 526
527=item $ulong = $device->local_mem_size 527=item $ulong = $device->local_mem_size
528 528
529Calls C<clGetDeviceInfo> with C<CL_DEVICE_LOCAL_MEM_SIZE> and returns the result(s). 529Calls C<clGetDeviceInfo> with C<CL_DEVICE_LOCAL_MEM_SIZE> and returns the result.
530 530
531=item $boolean = $device->error_correction_support 531=item $boolean = $device->error_correction_support
532 532
533Calls C<clGetDeviceInfo> with C<CL_DEVICE_ERROR_CORRECTION_SUPPORT> and returns the result(s). 533Calls C<clGetDeviceInfo> with C<CL_DEVICE_ERROR_CORRECTION_SUPPORT> and returns the result.
534 534
535=item $int = $device->profiling_timer_resolution 535=item $int = $device->profiling_timer_resolution
536 536
537Calls C<clGetDeviceInfo> with C<CL_DEVICE_PROFILING_TIMER_RESOLUTION> and returns the result(s). 537Calls C<clGetDeviceInfo> with C<CL_DEVICE_PROFILING_TIMER_RESOLUTION> and returns the result.
538 538
539=item $boolean = $device->endian_little 539=item $boolean = $device->endian_little
540 540
541Calls C<clGetDeviceInfo> with C<CL_DEVICE_ENDIAN_LITTLE> and returns the result(s). 541Calls C<clGetDeviceInfo> with C<CL_DEVICE_ENDIAN_LITTLE> and returns the result.
542 542
543=item $boolean = $device->available 543=item $boolean = $device->available
544 544
545Calls C<clGetDeviceInfo> with C<CL_DEVICE_AVAILABLE> and returns the result(s). 545Calls C<clGetDeviceInfo> with C<CL_DEVICE_AVAILABLE> and returns the result.
546 546
547=item $boolean = $device->compiler_available 547=item $boolean = $device->compiler_available
548 548
549Calls C<clGetDeviceInfo> with C<CL_DEVICE_COMPILER_AVAILABLE> and returns the result(s). 549Calls C<clGetDeviceInfo> with C<CL_DEVICE_COMPILER_AVAILABLE> and returns the result.
550 550
551=item $device_exec_capabilities = $device->execution_capabilities 551=item $device_exec_capabilities = $device->execution_capabilities
552 552
553Calls C<clGetDeviceInfo> with C<CL_DEVICE_EXECUTION_CAPABILITIES> and returns the result(s). 553Calls C<clGetDeviceInfo> with C<CL_DEVICE_EXECUTION_CAPABILITIES> and returns the result.
554 554
555=item $command_queue_properties = $device->properties 555=item $command_queue_properties = $device->properties
556 556
557Calls C<clGetDeviceInfo> with C<CL_DEVICE_QUEUE_PROPERTIES> and returns the result(s). 557Calls C<clGetDeviceInfo> with C<CL_DEVICE_QUEUE_PROPERTIES> and returns the result.
558 558
559=item $ = $device->platform 559=item $ = $device->platform
560 560
561Calls C<clGetDeviceInfo> with C<CL_DEVICE_PLATFORM> and returns the result(s). 561Calls C<clGetDeviceInfo> with C<CL_DEVICE_PLATFORM> and returns the result.
562 562
563=item $string = $device->name 563=item $string = $device->name
564 564
565Calls C<clGetDeviceInfo> with C<CL_DEVICE_NAME> and returns the result(s). 565Calls C<clGetDeviceInfo> with C<CL_DEVICE_NAME> and returns the result.
566 566
567=item $string = $device->vendor 567=item $string = $device->vendor
568 568
569Calls C<clGetDeviceInfo> with C<CL_DEVICE_VENDOR> and returns the result(s). 569Calls C<clGetDeviceInfo> with C<CL_DEVICE_VENDOR> and returns the result.
570 570
571=item $string = $device->driver_version 571=item $string = $device->driver_version
572 572
573Calls C<clGetDeviceInfo> with C<CL_DRIVER_VERSION> and returns the result(s). 573Calls C<clGetDeviceInfo> with C<CL_DRIVER_VERSION> and returns the result.
574 574
575=item $string = $device->profile 575=item $string = $device->profile
576 576
577Calls C<clGetDeviceInfo> with C<CL_DEVICE_PROFILE> and returns the result(s). 577Calls C<clGetDeviceInfo> with C<CL_DEVICE_PROFILE> and returns the result.
578 578
579=item $string = $device->version 579=item $string = $device->version
580 580
581Calls C<clGetDeviceInfo> with C<CL_DEVICE_VERSION> and returns the result(s). 581Calls C<clGetDeviceInfo> with C<CL_DEVICE_VERSION> and returns the result.
582 582
583=item $string = $device->extensions 583=item $string = $device->extensions
584 584
585Calls C<clGetDeviceInfo> with C<CL_DEVICE_EXTENSIONS> and returns the result(s). 585Calls C<clGetDeviceInfo> with C<CL_DEVICE_EXTENSIONS> and returns the result.
586 586
587=item $uint = $device->preferred_vector_width_half 587=item $uint = $device->preferred_vector_width_half
588 588
589Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF> and returns the result(s). 589Calls C<clGetDeviceInfo> with C<CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF> and returns the result.
590 590
591=item $uint = $device->native_vector_width_char 591=item $uint = $device->native_vector_width_char
592 592
593Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR> and returns the result(s). 593Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR> and returns the result.
594 594
595=item $uint = $device->native_vector_width_short 595=item $uint = $device->native_vector_width_short
596 596
597Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT> and returns the result(s). 597Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT> and returns the result.
598 598
599=item $uint = $device->native_vector_width_int 599=item $uint = $device->native_vector_width_int
600 600
601Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_INT> and returns the result(s). 601Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_INT> and returns the result.
602 602
603=item $uint = $device->native_vector_width_long 603=item $uint = $device->native_vector_width_long
604 604
605Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG> and returns the result(s). 605Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG> and returns the result.
606 606
607=item $uint = $device->native_vector_width_float 607=item $uint = $device->native_vector_width_float
608 608
609Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT> and returns the result(s). 609Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT> and returns the result.
610 610
611=item $uint = $device->native_vector_width_double 611=item $uint = $device->native_vector_width_double
612 612
613Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE> and returns the result(s). 613Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE> and returns the result.
614 614
615=item $uint = $device->native_vector_width_half 615=item $uint = $device->native_vector_width_half
616 616
617Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF> and returns the result(s). 617Calls C<clGetDeviceInfo> with C<CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF> and returns the result.
618 618
619=item $device_fp_config = $device->double_fp_config 619=item $device_fp_config = $device->double_fp_config
620 620
621Calls C<clGetDeviceInfo> with C<CL_DEVICE_DOUBLE_FP_CONFIG> and returns the result(s). 621Calls C<clGetDeviceInfo> with C<CL_DEVICE_DOUBLE_FP_CONFIG> and returns the result.
622 622
623=item $device_fp_config = $device->half_fp_config 623=item $device_fp_config = $device->half_fp_config
624 624
625Calls C<clGetDeviceInfo> with C<CL_DEVICE_HALF_FP_CONFIG> and returns the result(s). 625Calls C<clGetDeviceInfo> with C<CL_DEVICE_HALF_FP_CONFIG> and returns the result.
626 626
627=item $boolean = $device->host_unified_memory 627=item $boolean = $device->host_unified_memory
628 628
629Calls C<clGetDeviceInfo> with C<CL_DEVICE_HOST_UNIFIED_MEMORY> and returns the result(s). 629Calls C<clGetDeviceInfo> with C<CL_DEVICE_HOST_UNIFIED_MEMORY> and returns the result.
630 630
631=item $device = $device->parent_device_ext 631=item $device = $device->parent_device_ext
632 632
633Calls C<clGetDeviceInfo> with C<CL_DEVICE_PARENT_DEVICE_EXT> and returns the result(s). 633Calls C<clGetDeviceInfo> with C<CL_DEVICE_PARENT_DEVICE_EXT> and returns the result.
634 634
635=item @device_partition_property_exts = $device->partition_types_ext 635=item @device_partition_property_exts = $device->partition_types_ext
636 636
637Calls C<clGetDeviceInfo> with C<CL_DEVICE_PARTITION_TYPES_EXT> and returns the result(s). 637Calls C<clGetDeviceInfo> with C<CL_DEVICE_PARTITION_TYPES_EXT> and returns the result.
638 638
639=item @device_partition_property_exts = $device->affinity_domains_ext 639=item @device_partition_property_exts = $device->affinity_domains_ext
640 640
641Calls C<clGetDeviceInfo> with C<CL_DEVICE_AFFINITY_DOMAINS_EXT> and returns the result(s). 641Calls C<clGetDeviceInfo> with C<CL_DEVICE_AFFINITY_DOMAINS_EXT> and returns the result.
642 642
643=item $uint = $device->reference_count_ext 643=item $uint = $device->reference_count_ext
644 644
645Calls C<clGetDeviceInfo> with C<CL_DEVICE_REFERENCE_COUNT_EXT > and returns the result(s). 645Calls C<clGetDeviceInfo> with C<CL_DEVICE_REFERENCE_COUNT_EXT > and returns the result.
646 646
647=item @device_partition_property_exts = $device->partition_style_ext 647=item @device_partition_property_exts = $device->partition_style_ext
648 648
649Calls C<clGetDeviceInfo> with C<CL_DEVICE_PARTITION_STYLE_EXT> and returns the result(s). 649Calls C<clGetDeviceInfo> with C<CL_DEVICE_PARTITION_STYLE_EXT> and returns the result.
650 650
651=for gengetinfo end device 651=for gengetinfo end device
652 652
653=back 653=back
654 654
668 668
669L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateUserEvent.html> 669L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateUserEvent.html>
670 670
671=item $buf = $ctx->buffer ($flags, $len) 671=item $buf = $ctx->buffer ($flags, $len)
672 672
673Creates a new OpenCL::Buffer object with the given flags and octet-size. 673Creates a new OpenCL::Buffer (actually OpenCL::BufferObj) object with the
674given flags and octet-size.
674 675
675L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateBuffer.html> 676L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateBuffer.html>
676 677
677=item $buf = $ctx->buffer_sv ($flags, $data) 678=item $buf = $ctx->buffer_sv ($flags, $data)
678 679
679Creates a new OpenCL::Buffer object and initialise it with the given data values. 680Creates a new OpenCL::Buffer (actually OpenCL::BufferObj) object and
681initialise it with the given data values.
680 682
681=item $img = $ctx->image2d ($flags, $channel_order, $channel_type, $width, $height, $row_pitch = 0, $data = undef) 683=item $img = $ctx->image2d ($flags, $channel_order, $channel_type, $width, $height, $row_pitch = 0, $data = undef)
682 684
683Creates a new OpenCL::Image2D object and optionally initialises it with the given data values. 685Creates a new OpenCL::Image2D object and optionally initialises it with
686the given data values.
684 687
685L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateImage2D.html> 688L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateImage2D.html>
686 689
687=item $img = $ctx->image3d ($flags, $channel_order, $channel_type, $width, $height, $depth, $row_pitch = 0, $slice_pitch = 0, $data = undef) 690=item $img = $ctx->image3d ($flags, $channel_order, $channel_type, $width, $height, $depth, $row_pitch = 0, $slice_pitch = 0, $data = undef)
688 691
689Creates a new OpenCL::Image3D object and optionally initialises it with the given data values. 692Creates a new OpenCL::Image3D object and optionally initialises it with
693the given data values.
690 694
691L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateImage3D.html> 695L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateImage3D.html>
692 696
693=item @formats = $ctx->supported_image_formats ($flags, $image_type) 697=item @formats = $ctx->supported_image_formats ($flags, $image_type)
694 698
717 721
718=for gengetinfo begin context 722=for gengetinfo begin context
719 723
720=item $uint = $context->reference_count 724=item $uint = $context->reference_count
721 725
722Calls C<clGetContextInfo> with C<CL_CONTEXT_REFERENCE_COUNT> and returns the result(s). 726Calls C<clGetContextInfo> with C<CL_CONTEXT_REFERENCE_COUNT> and returns the result.
723 727
724=item @devices = $context->devices 728=item @devices = $context->devices
725 729
726Calls C<clGetContextInfo> with C<CL_CONTEXT_DEVICES> and returns the result(s). 730Calls C<clGetContextInfo> with C<CL_CONTEXT_DEVICES> and returns the result.
727 731
728=item @property_ints = $context->properties 732=item @property_ints = $context->properties
729 733
730Calls C<clGetContextInfo> with C<CL_CONTEXT_PROPERTIES> and returns the result(s). 734Calls C<clGetContextInfo> with C<CL_CONTEXT_PROPERTIES> and returns the result.
731 735
732=item $uint = $context->num_devices 736=item $uint = $context->num_devices
733 737
734Calls C<clGetContextInfo> with C<CL_CONTEXT_NUM_DEVICES> and returns the result(s). 738Calls C<clGetContextInfo> with C<CL_CONTEXT_NUM_DEVICES> and returns the result.
735 739
736=for gengetinfo end context 740=for gengetinfo end context
737 741
738=back 742=back
739 743
771 775
772=item $ev = $queue->enqueue_copy_buffer ($src, $dst, $src_offset, $dst_offset, $len, $wait_events...) 776=item $ev = $queue->enqueue_copy_buffer ($src, $dst, $src_offset, $dst_offset, $len, $wait_events...)
773 777
774L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueCopyBuffer.html> 778L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueCopyBuffer.html>
775 779
780=item $ev = $queue->enqueue_read_buffer_rect (OpenCL::Memory buf, cl_bool blocking, $buf_x, $buf_y, $buf_z, $host_x, $host_y, $host_z, $width, $height, $depth, $buf_row_pitch, $buf_slice_pitch, $host_row_pitch, $host_slice_pitch, $data, $wait_events...)
781
782http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueReadBufferRect.html
783
784=item $ev = $queue->enqueue_write_buffer_rect (OpenCL::Memory buf, cl_bool blocking, $buf_x, $buf_y, $buf_z, $host_x, $host_y, $host_z, $width, $height, $depth, $buf_row_pitch, $buf_slice_pitch, $host_row_pitch, $host_slice_pitch, $data, $wait_events...)
785
786http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueWriteBufferRect.html
787
776=item $ev = $queue->enqueue_read_image ($src, $blocking, $x, $y, $z, $width, $height, $depth, $row_pitch, $slice_pitch, $data, $wait_events...) 788=item $ev = $queue->enqueue_read_image ($src, $blocking, $x, $y, $z, $width, $height, $depth, $row_pitch, $slice_pitch, $data, $wait_events...)
777 789
790L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueCopyBufferRect.html>
791
792=item $ev = $queue->enqueue_copy_buffer_to_image ($src_buffer, $dst_image, $src_offset, $dst_x, $dst_y, $dst_z, $width, $height, $depth, $wait_events...)
793
778L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueReadImage.html> 794L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueReadImage.html>
779 795
780=item $ev = $queue->enqueue_write_image ($src, $blocking, $x, $y, $z, $width, $height, $depth, $row_pitch, $slice_pitch, $data, $wait_events...) 796=item $ev = $queue->enqueue_write_image ($src, $blocking, $x, $y, $z, $width, $height, $depth, $row_pitch, $slice_pitch, $data, $wait_events...)
781 797
782L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueWriteImage.html> 798L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueWriteImage.html>
783 799
800=item $ev = $queue->enqueue_copy_image ($src_image, $dst_image, $src_x, $src_y, $src_z, $dst_x, $dst_y, $dst_z, $width, $height, $depth, $wait_events...)
801
802L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueCopyImage.html>
803
804=item $ev = $queue->enqueue_copy_image_to_buffer ($src_image, $dst_image, $src_x, $src_y, $src_z, $width, $height, $depth, $dst_offset, $wait_events...)
805
806L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueCopyImageToBuffer.html>
807
784=item $ev = $queue->enqueue_copy_buffer_rect ($src, $dst, $src_x, $src_y, $src_z, $dst_x, $dst_y, $dst_z, $width, $height, $depth, $src_row_pitch, $src_slice_pitch, $dst_row_pitch, $dst_slice_pitch, $wait_event...) 808=item $ev = $queue->enqueue_copy_buffer_rect ($src, $dst, $src_x, $src_y, $src_z, $dst_x, $dst_y, $dst_z, $width, $height, $depth, $src_row_pitch, $src_slice_pitch, $dst_row_pitch, $dst_slice_pitch, $wait_event...)
785 809
786Yeah. 810Yeah.
787 811
788L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueCopyBufferRect.html>
789
790=item $ev = $queue->enqueue_copy_buffer_to_image ($src_buffer, $dst_image, $src_offset, $dst_x, $dst_y, $dst_z, $width, $height, $depth, $wait_events...)
791
792L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueCopyBufferToImage.html>. 812L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueCopyBufferToImage.html>.
793
794=item $ev = $queue->enqueue_copy_image ($src_image, $dst_image, $src_x, $src_y, $src_z, $dst_x, $dst_y, $dst_z, $width, $height, $depth, $wait_events...)
795
796L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueCopyImage.html>
797
798=item $ev = $queue->enqueue_copy_image_to_buffer ($src_image, $dst_image, $src_x, $src_y, $src_z, $width, $height, $depth, $dst_offset, $wait_events...)
799
800L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueCopyImageToBuffer.html>
801 813
802=item $ev = $queue->enqueue_task ($kernel, $wait_events...) 814=item $ev = $queue->enqueue_task ($kernel, $wait_events...)
803 815
804L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueTask.html> 816L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueTask.html>
805 817
849 861
850=for gengetinfo begin command_queue 862=for gengetinfo begin command_queue
851 863
852=item $ctx = $command_queue->context 864=item $ctx = $command_queue->context
853 865
854Calls C<clGetCommandQueueInfo> with C<CL_QUEUE_CONTEXT> and returns the result(s). 866Calls C<clGetCommandQueueInfo> with C<CL_QUEUE_CONTEXT> and returns the result.
855 867
856=item $device = $command_queue->device 868=item $device = $command_queue->device
857 869
858Calls C<clGetCommandQueueInfo> with C<CL_QUEUE_DEVICE> and returns the result(s). 870Calls C<clGetCommandQueueInfo> with C<CL_QUEUE_DEVICE> and returns the result.
859 871
860=item $uint = $command_queue->reference_count 872=item $uint = $command_queue->reference_count
861 873
862Calls C<clGetCommandQueueInfo> with C<CL_QUEUE_REFERENCE_COUNT> and returns the result(s). 874Calls C<clGetCommandQueueInfo> with C<CL_QUEUE_REFERENCE_COUNT> and returns the result.
863 875
864=item $command_queue_properties = $command_queue->properties 876=item $command_queue_properties = $command_queue->properties
865 877
866Calls C<clGetCommandQueueInfo> with C<CL_QUEUE_PROPERTIES> and returns the result(s). 878Calls C<clGetCommandQueueInfo> with C<CL_QUEUE_PROPERTIES> and returns the result.
867 879
868=for gengetinfo end command_queue 880=for gengetinfo end command_queue
869 881
870=back 882=back
871 883
884 896
885=for gengetinfo begin mem 897=for gengetinfo begin mem
886 898
887=item $mem_object_type = $mem->type 899=item $mem_object_type = $mem->type
888 900
889Calls C<clGetMemObjectInfo> with C<CL_MEM_TYPE> and returns the result(s). 901Calls C<clGetMemObjectInfo> with C<CL_MEM_TYPE> and returns the result.
890 902
891=item $mem_flags = $mem->flags 903=item $mem_flags = $mem->flags
892 904
893Calls C<clGetMemObjectInfo> with C<CL_MEM_FLAGS> and returns the result(s). 905Calls C<clGetMemObjectInfo> with C<CL_MEM_FLAGS> and returns the result.
894 906
895=item $int = $mem->size 907=item $int = $mem->size
896 908
897Calls C<clGetMemObjectInfo> with C<CL_MEM_SIZE> and returns the result(s). 909Calls C<clGetMemObjectInfo> with C<CL_MEM_SIZE> and returns the result.
898 910
899=item $ptr_value = $mem->host_ptr 911=item $ptr_value = $mem->host_ptr
900 912
901Calls C<clGetMemObjectInfo> with C<CL_MEM_HOST_PTR> and returns the result(s). 913Calls C<clGetMemObjectInfo> with C<CL_MEM_HOST_PTR> and returns the result.
902 914
903=item $uint = $mem->map_count 915=item $uint = $mem->map_count
904 916
905Calls C<clGetMemObjectInfo> with C<CL_MEM_MAP_COUNT> and returns the result(s). 917Calls C<clGetMemObjectInfo> with C<CL_MEM_MAP_COUNT> and returns the result.
906 918
907=item $uint = $mem->reference_count 919=item $uint = $mem->reference_count
908 920
909Calls C<clGetMemObjectInfo> with C<CL_MEM_REFERENCE_COUNT> and returns the result(s). 921Calls C<clGetMemObjectInfo> with C<CL_MEM_REFERENCE_COUNT> and returns the result.
910 922
911=item $ctx = $mem->context 923=item $ctx = $mem->context
912 924
913Calls C<clGetMemObjectInfo> with C<CL_MEM_CONTEXT> and returns the result(s). 925Calls C<clGetMemObjectInfo> with C<CL_MEM_CONTEXT> and returns the result.
914 926
915=item $mem = $mem->associated_memobject 927=item $mem = $mem->associated_memobject
916 928
917Calls C<clGetMemObjectInfo> with C<CL_MEM_ASSOCIATED_MEMOBJECT> and returns the result(s). 929Calls C<clGetMemObjectInfo> with C<CL_MEM_ASSOCIATED_MEMOBJECT> and returns the result.
918 930
919=item $int = $mem->offset 931=item $int = $mem->offset
920 932
921Calls C<clGetMemObjectInfo> with C<CL_MEM_OFFSET> and returns the result(s). 933Calls C<clGetMemObjectInfo> with C<CL_MEM_OFFSET> and returns the result.
922 934
923=for gengetinfo end mem 935=for gengetinfo end mem
936
937=back
938
939=head2 THE OpenCL::Buffer CLASS
940
941This is a subclass of OpenCL::Memory, and the superclass of
942OpenCL::BufferObj. Its purpose is simply to distinguish between buffers
943and sub-buffers.
944
945=head2 THE OpenCL::BufferObj CLASS
946
947This is a subclass of OpenCL::Buffer and thus OpenCL::Memory. It exists
948because one cna create sub buffers of OpenLC::BufferObj objects, but not
949sub buffers from these sub buffers.
950
951=over 4
952
953=item $subbuf = $buf_obj->sub_buffer_region ($flags, $origin, $size)
954
955Creates an OpenCL::Buffer objects from this buffer and returns it. The
956C<buffer_create_type> is assumed to be C<CL_BUFFER_CREATE_TYPE_REGION>.
957
958L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateSubBuffer.html>
924 959
925=back 960=back
926 961
927=head2 THE OpenCL::Image CLASS 962=head2 THE OpenCL::Image CLASS
928 963
941 976
942=for gengetinfo begin image 977=for gengetinfo begin image
943 978
944=item $int = $image->element_size 979=item $int = $image->element_size
945 980
946Calls C<clGetImageInfo> with C<CL_IMAGE_ELEMENT_SIZE> and returns the result(s). 981Calls C<clGetImageInfo> with C<CL_IMAGE_ELEMENT_SIZE> and returns the result.
947 982
948=item $int = $image->row_pitch 983=item $int = $image->row_pitch
949 984
950Calls C<clGetImageInfo> with C<CL_IMAGE_ROW_PITCH> and returns the result(s). 985Calls C<clGetImageInfo> with C<CL_IMAGE_ROW_PITCH> and returns the result.
951 986
952=item $int = $image->slice_pitch 987=item $int = $image->slice_pitch
953 988
954Calls C<clGetImageInfo> with C<CL_IMAGE_SLICE_PITCH> and returns the result(s). 989Calls C<clGetImageInfo> with C<CL_IMAGE_SLICE_PITCH> and returns the result.
955 990
956=item $int = $image->width 991=item $int = $image->width
957 992
958Calls C<clGetImageInfo> with C<CL_IMAGE_WIDTH> and returns the result(s). 993Calls C<clGetImageInfo> with C<CL_IMAGE_WIDTH> and returns the result.
959 994
960=item $int = $image->height 995=item $int = $image->height
961 996
962Calls C<clGetImageInfo> with C<CL_IMAGE_HEIGHT> and returns the result(s). 997Calls C<clGetImageInfo> with C<CL_IMAGE_HEIGHT> and returns the result.
963 998
964=item $int = $image->depth 999=item $int = $image->depth
965 1000
966Calls C<clGetImageInfo> with C<CL_IMAGE_DEPTH> and returns the result(s). 1001Calls C<clGetImageInfo> with C<CL_IMAGE_DEPTH> and returns the result.
967 1002
968=for gengetinfo end image 1003=for gengetinfo end image
969 1004
970=back 1005=back
971 1006
981 1016
982=for gengetinfo begin sampler 1017=for gengetinfo begin sampler
983 1018
984=item $uint = $sampler->reference_count 1019=item $uint = $sampler->reference_count
985 1020
986Calls C<clGetSamplerInfo> with C<CL_SAMPLER_REFERENCE_COUNT> and returns the result(s). 1021Calls C<clGetSamplerInfo> with C<CL_SAMPLER_REFERENCE_COUNT> and returns the result.
987 1022
988=item $ctx = $sampler->context 1023=item $ctx = $sampler->context
989 1024
990Calls C<clGetSamplerInfo> with C<CL_SAMPLER_CONTEXT> and returns the result(s). 1025Calls C<clGetSamplerInfo> with C<CL_SAMPLER_CONTEXT> and returns the result.
991 1026
992=item $addressing_mode = $sampler->normalized_coords 1027=item $addressing_mode = $sampler->normalized_coords
993 1028
994Calls C<clGetSamplerInfo> with C<CL_SAMPLER_NORMALIZED_COORDS> and returns the result(s). 1029Calls C<clGetSamplerInfo> with C<CL_SAMPLER_NORMALIZED_COORDS> and returns the result.
995 1030
996=item $filter_mode = $sampler->addressing_mode 1031=item $filter_mode = $sampler->addressing_mode
997 1032
998Calls C<clGetSamplerInfo> with C<CL_SAMPLER_ADDRESSING_MODE> and returns the result(s). 1033Calls C<clGetSamplerInfo> with C<CL_SAMPLER_ADDRESSING_MODE> and returns the result.
999 1034
1000=item $boolean = $sampler->filter_mode 1035=item $boolean = $sampler->filter_mode
1001 1036
1002Calls C<clGetSamplerInfo> with C<CL_SAMPLER_FILTER_MODE> and returns the result(s). 1037Calls C<clGetSamplerInfo> with C<CL_SAMPLER_FILTER_MODE> and returns the result.
1003 1038
1004=for gengetinfo end sampler 1039=for gengetinfo end sampler
1005 1040
1006=back 1041=back
1007 1042
1031 1066
1032=for gengetinfo begin program_build 1067=for gengetinfo begin program_build
1033 1068
1034=item $build_status = $program->build_status ($device) 1069=item $build_status = $program->build_status ($device)
1035 1070
1036Calls C<clGetProgramBuildInfo> with C<CL_PROGRAM_BUILD_STATUS> and returns the result(s). 1071Calls C<clGetProgramBuildInfo> with C<CL_PROGRAM_BUILD_STATUS> and returns the result.
1037 1072
1038=item $string = $program->build_options ($device) 1073=item $string = $program->build_options ($device)
1039 1074
1040Calls C<clGetProgramBuildInfo> with C<CL_PROGRAM_BUILD_OPTIONS> and returns the result(s). 1075Calls C<clGetProgramBuildInfo> with C<CL_PROGRAM_BUILD_OPTIONS> and returns the result.
1041 1076
1042=item $string = $program->build_log ($device) 1077=item $string = $program->build_log ($device)
1043 1078
1044Calls C<clGetProgramBuildInfo> with C<CL_PROGRAM_BUILD_LOG> and returns the result(s). 1079Calls C<clGetProgramBuildInfo> with C<CL_PROGRAM_BUILD_LOG> and returns the result.
1045 1080
1046=for gengetinfo end program_build 1081=for gengetinfo end program_build
1047 1082
1048=item $packed_value = $program->info ($name) 1083=item $packed_value = $program->info ($name)
1049 1084
1053 1088
1054=for gengetinfo begin program 1089=for gengetinfo begin program
1055 1090
1056=item $uint = $program->reference_count 1091=item $uint = $program->reference_count
1057 1092
1058Calls C<clGetProgramInfo> with C<CL_PROGRAM_REFERENCE_COUNT> and returns the result(s). 1093Calls C<clGetProgramInfo> with C<CL_PROGRAM_REFERENCE_COUNT> and returns the result.
1059 1094
1060=item $ctx = $program->context 1095=item $ctx = $program->context
1061 1096
1062Calls C<clGetProgramInfo> with C<CL_PROGRAM_CONTEXT> and returns the result(s). 1097Calls C<clGetProgramInfo> with C<CL_PROGRAM_CONTEXT> and returns the result.
1063 1098
1064=item $uint = $program->num_devices 1099=item $uint = $program->num_devices
1065 1100
1066Calls C<clGetProgramInfo> with C<CL_PROGRAM_NUM_DEVICES> and returns the result(s). 1101Calls C<clGetProgramInfo> with C<CL_PROGRAM_NUM_DEVICES> and returns the result.
1067 1102
1068=item @devices = $program->devices 1103=item @devices = $program->devices
1069 1104
1070Calls C<clGetProgramInfo> with C<CL_PROGRAM_DEVICES> and returns the result(s). 1105Calls C<clGetProgramInfo> with C<CL_PROGRAM_DEVICES> and returns the result.
1071 1106
1072=item $string = $program->source 1107=item $string = $program->source
1073 1108
1074Calls C<clGetProgramInfo> with C<CL_PROGRAM_SOURCE> and returns the result(s). 1109Calls C<clGetProgramInfo> with C<CL_PROGRAM_SOURCE> and returns the result.
1075 1110
1076=item @ints = $program->binary_sizes 1111=item @ints = $program->binary_sizes
1077 1112
1078Calls C<clGetProgramInfo> with C<CL_PROGRAM_BINARY_SIZES> and returns the result(s). 1113Calls C<clGetProgramInfo> with C<CL_PROGRAM_BINARY_SIZES> and returns the result.
1079 1114
1080=for gengetinfo end program 1115=for gengetinfo end program
1081 1116
1082=item @blobs = $program->binaries 1117=item @blobs = $program->binaries
1083 1118
1104 1139
1105=for gengetinfo begin kernel 1140=for gengetinfo begin kernel
1106 1141
1107=item $string = $kernel->function_name 1142=item $string = $kernel->function_name
1108 1143
1109Calls C<clGetKernelInfo> with C<CL_KERNEL_FUNCTION_NAME> and returns the result(s). 1144Calls C<clGetKernelInfo> with C<CL_KERNEL_FUNCTION_NAME> and returns the result.
1110 1145
1111=item $uint = $kernel->num_args 1146=item $uint = $kernel->num_args
1112 1147
1113Calls C<clGetKernelInfo> with C<CL_KERNEL_NUM_ARGS> and returns the result(s). 1148Calls C<clGetKernelInfo> with C<CL_KERNEL_NUM_ARGS> and returns the result.
1114 1149
1115=item $uint = $kernel->reference_count 1150=item $uint = $kernel->reference_count
1116 1151
1117Calls C<clGetKernelInfo> with C<CL_KERNEL_REFERENCE_COUNT> and returns the result(s). 1152Calls C<clGetKernelInfo> with C<CL_KERNEL_REFERENCE_COUNT> and returns the result.
1118 1153
1119=item $ctx = $kernel->context 1154=item $ctx = $kernel->context
1120 1155
1121Calls C<clGetKernelInfo> with C<CL_KERNEL_CONTEXT> and returns the result(s). 1156Calls C<clGetKernelInfo> with C<CL_KERNEL_CONTEXT> and returns the result.
1122 1157
1123=item $program = $kernel->program 1158=item $program = $kernel->program
1124 1159
1125Calls C<clGetKernelInfo> with C<CL_KERNEL_PROGRAM> and returns the result(s). 1160Calls C<clGetKernelInfo> with C<CL_KERNEL_PROGRAM> and returns the result.
1126 1161
1127=for gengetinfo end kernel 1162=for gengetinfo end kernel
1128 1163
1129=item $packed_value = $kernel->work_group_info ($device, $name) 1164=item $packed_value = $kernel->work_group_info ($device, $name)
1130 1165
1137 1172
1138=for gengetinfo begin kernel_work_group 1173=for gengetinfo begin kernel_work_group
1139 1174
1140=item $int = $kernel->work_group_size ($device) 1175=item $int = $kernel->work_group_size ($device)
1141 1176
1142Calls C<clGetKernelWorkGroupInfo> with C<CL_KERNEL_WORK_GROUP_SIZE> and returns the result(s). 1177Calls C<clGetKernelWorkGroupInfo> with C<CL_KERNEL_WORK_GROUP_SIZE> and returns the result.
1143 1178
1144=item @ints = $kernel->compile_work_group_size ($device) 1179=item @ints = $kernel->compile_work_group_size ($device)
1145 1180
1146Calls C<clGetKernelWorkGroupInfo> with C<CL_KERNEL_COMPILE_WORK_GROUP_SIZE> and returns the result(s). 1181Calls C<clGetKernelWorkGroupInfo> with C<CL_KERNEL_COMPILE_WORK_GROUP_SIZE> and returns the result.
1147 1182
1148=item $ulong = $kernel->local_mem_size ($device) 1183=item $ulong = $kernel->local_mem_size ($device)
1149 1184
1150Calls C<clGetKernelWorkGroupInfo> with C<CL_KERNEL_LOCAL_MEM_SIZE> and returns the result(s). 1185Calls C<clGetKernelWorkGroupInfo> with C<CL_KERNEL_LOCAL_MEM_SIZE> and returns the result.
1151 1186
1152=item $int = $kernel->preferred_work_group_size_multiple ($device) 1187=item $int = $kernel->preferred_work_group_size_multiple ($device)
1153 1188
1154Calls C<clGetKernelWorkGroupInfo> with C<CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE> and returns the result(s). 1189Calls C<clGetKernelWorkGroupInfo> with C<CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE> and returns the result.
1155 1190
1156=item $ulong = $kernel->private_mem_size ($device) 1191=item $ulong = $kernel->private_mem_size ($device)
1157 1192
1158Calls C<clGetKernelWorkGroupInfo> with C<CL_KERNEL_PRIVATE_MEM_SIZE> and returns the result(s). 1193Calls C<clGetKernelWorkGroupInfo> with C<CL_KERNEL_PRIVATE_MEM_SIZE> and returns the result.
1159 1194
1160=for gengetinfo end kernel_work_group 1195=for gengetinfo end kernel_work_group
1161 1196
1162=item $kernel->set_TYPE ($index, $value) 1197=item $kernel->set_TYPE ($index, $value)
1163 1198
1197 1232
1198=for gengetinfo begin event 1233=for gengetinfo begin event
1199 1234
1200=item $queue = $event->command_queue 1235=item $queue = $event->command_queue
1201 1236
1202Calls C<clGetEventInfo> with C<CL_EVENT_COMMAND_QUEUE> and returns the result(s). 1237Calls C<clGetEventInfo> with C<CL_EVENT_COMMAND_QUEUE> and returns the result.
1203 1238
1204=item $command_type = $event->command_type 1239=item $command_type = $event->command_type
1205 1240
1206Calls C<clGetEventInfo> with C<CL_EVENT_COMMAND_TYPE> and returns the result(s). 1241Calls C<clGetEventInfo> with C<CL_EVENT_COMMAND_TYPE> and returns the result.
1207 1242
1208=item $uint = $event->reference_count 1243=item $uint = $event->reference_count
1209 1244
1210Calls C<clGetEventInfo> with C<CL_EVENT_REFERENCE_COUNT> and returns the result(s). 1245Calls C<clGetEventInfo> with C<CL_EVENT_REFERENCE_COUNT> and returns the result.
1211 1246
1212=item $uint = $event->command_execution_status 1247=item $uint = $event->command_execution_status
1213 1248
1214Calls C<clGetEventInfo> with C<CL_EVENT_COMMAND_EXECUTION_STATUS> and returns the result(s). 1249Calls C<clGetEventInfo> with C<CL_EVENT_COMMAND_EXECUTION_STATUS> and returns the result.
1215 1250
1216=item $ctx = $event->context 1251=item $ctx = $event->context
1217 1252
1218Calls C<clGetEventInfo> with C<CL_EVENT_CONTEXT> and returns the result(s). 1253Calls C<clGetEventInfo> with C<CL_EVENT_CONTEXT> and returns the result.
1219 1254
1220=for gengetinfo end event 1255=for gengetinfo end event
1221 1256
1222=item $packed_value = $ev->profiling_info ($name) 1257=item $packed_value = $ev->profiling_info ($name)
1223 1258
1230 1265
1231=for gengetinfo begin profiling 1266=for gengetinfo begin profiling
1232 1267
1233=item $ulong = $event->profiling_command_queued 1268=item $ulong = $event->profiling_command_queued
1234 1269
1235Calls C<clGetEventProfilingInfo> with C<CL_PROFILING_COMMAND_QUEUED> and returns the result(s). 1270Calls C<clGetEventProfilingInfo> with C<CL_PROFILING_COMMAND_QUEUED> and returns the result.
1236 1271
1237=item $ulong = $event->profiling_command_submit 1272=item $ulong = $event->profiling_command_submit
1238 1273
1239Calls C<clGetEventProfilingInfo> with C<CL_PROFILING_COMMAND_SUBMIT> and returns the result(s). 1274Calls C<clGetEventProfilingInfo> with C<CL_PROFILING_COMMAND_SUBMIT> and returns the result.
1240 1275
1241=item $ulong = $event->profiling_command_start 1276=item $ulong = $event->profiling_command_start
1242 1277
1243Calls C<clGetEventProfilingInfo> with C<CL_PROFILING_COMMAND_START> and returns the result(s). 1278Calls C<clGetEventProfilingInfo> with C<CL_PROFILING_COMMAND_START> and returns the result.
1244 1279
1245=item $ulong = $event->profiling_command_end 1280=item $ulong = $event->profiling_command_end
1246 1281
1247Calls C<clGetEventProfilingInfo> with C<CL_PROFILING_COMMAND_END> and returns the result(s). 1282Calls C<clGetEventProfilingInfo> with C<CL_PROFILING_COMMAND_END> and returns the result.
1248 1283
1249=for gengetinfo end profiling 1284=for gengetinfo end profiling
1250 1285
1251=back 1286=back
1252 1287
1267package OpenCL; 1302package OpenCL;
1268 1303
1269use common::sense; 1304use common::sense;
1270 1305
1271BEGIN { 1306BEGIN {
1272 our $VERSION = '0.55'; 1307 our $VERSION = '0.91';
1273 1308
1274 require XSLoader; 1309 require XSLoader;
1275 XSLoader::load (__PACKAGE__, $VERSION); 1310 XSLoader::load (__PACKAGE__, $VERSION);
1276 1311
1277 @OpenCL::Buffer::ISA = 1312 @OpenCL::Buffer::ISA =
1278 @OpenCL::Image::ISA = OpenCL::Memory::; 1313 @OpenCL::Image::ISA = OpenCL::Memory::;
1279 1314
1315 @OpenCL::BufferObj::ISA = OpenCL::Buffer::;
1316
1280 @OpenCL::Image2D::ISA = 1317 @OpenCL::Image2D::ISA =
1281 @OpenCL::Image3D::ISA = OpenCL::Image::; 1318 @OpenCL::Image3D::ISA = OpenCL::Image::;
1282 1319
1283 @OpenCL::UserEvent::ISA = OpenCL::Event::; 1320 @OpenCL::UserEvent::ISA = OpenCL::Event::;
1284} 1321}
1285 1322
12861; 13231;
1287 1324
1288=head1 AUTHOR 1325=head1 AUTHOR

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines