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.30 by root, Thu Apr 5 10:08:59 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.
286 286
287Comverts an error value into a human readable string. 287Comverts an error value into a human readable string.
288 288
289=item $str = OpenCL::enum2str $enum 289=item $str = OpenCL::enum2str $enum
290 290
291Converts most enum values (inof parameter names, image format constants, 291Converts most enum values (of parameter names, image format constants,
292object types, addressing and filter modes, command types etc.) into a 292object types, addressing and filter modes, command types etc.) into a
293human readbale string. When confronted with some random integer it can be 293human readable string. When confronted with some random integer it can be
294very helpful to pass it through this function to maybe get some readable 294very helpful to pass it through this function to maybe get some readable
295string out of it. 295string out of it.
296 296
297=item @platforms = OpenCL::platforms 297=item @platforms = OpenCL::platforms
298 298
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