{"push_id":890043349,"size":41,"distinct_size":41,"ref":"refs/heads/master","head":"18434c51a3e9932ea62fa64edbc1d865f95fd036","before":"5178bc6057d0efa1556be47ab8b40afda7fa237a","commits":[{"sha":"38dccca68d194c92037a0d5960f690b811053b32","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Some work on kernel caching / locking\n\nThe locking was a bit too eager, slowing down certain API calls.\nThis changes the locks so that:\n1) a [program,device] write lock is acquired only when\n   we need to actually write something\n2) a [program,device] shared read lock is acquired at clCreateProgram*()\n   This is to prevent the same program in different process to delete\n   the entire program cache directory in clReleaseProgram, in case\n   POCL_KERNEL_CACHE is set to zero.","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/38dccca68d194c92037a0d5960f690b811053b32"},{"sha":"98b6229ae873d2901833574ac0f14ccd208fd91c","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Add a few missing OpenCL version macros to _kernel.h","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/98b6229ae873d2901833574ac0f14ccd208fd91c"},{"sha":"6ea0403bdf07518a74a8d56b16a691e489b5da64","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"_kernel.h: Add 64bit atomics macro helpers, and only define\n64bit atomics when the proper device extensions are available.","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/6ea0403bdf07518a74a8d56b16a691e489b5da64"},{"sha":"9affd62b2c6f8bd6546ef41c9c80bd2ee3f8f894","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"_kernel.h: Add OpenCL 2.0 Atomics (C11 atomic subset) prototypes","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/9affd62b2c6f8bd6546ef41c9c80bd2ee3f8f894"},{"sha":"4357eac25f5c4c0540123603ac346b20d5fea836","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"kernel lib: Add OpenCL2.0 atomics implementation (common parts)\n\nThis somewhat reduces the number of required device-specific atomics\nto implement. Device-specific calls that need to be implemented\nfor each device are named \"pocl_atomic_*\"","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/4357eac25f5c4c0540123603ac346b20d5fea836"},{"sha":"1af436206d74d342a1d8a933970c37d8817542d1","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"kernel lib: Add OpenCL2.0 atomics implementation (host device part)\n\nThis implements 2.0 atomics via Clang's C11 atomic builtins (and\nsome nonstandard builtins for min/max). The min/max builtins are only\nfor int & uint; TODO find something better.","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/1af436206d74d342a1d8a933970c37d8817542d1"},{"sha":"1d4da2b625ccb842f6044f4dfb1dafc93c5e1e17","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Remove include/pocl_features.h header\n\nThis header (un)defines a few OpenCL extensions based on\nhost device capabilities, which is wrong. With multiple devices\n(host, HSA, TCE) each one must provide its own list of supported\nextensions.","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/1d4da2b625ccb842f6044f4dfb1dafc93c5e1e17"},{"sha":"01ea3df8e1c1810f5e6c3fb9841aa74bc9cd3a1a","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Change the kernel library flags to report OpenCL 2.0\n\nThis sets the CL language version macro (__OPENCL_C_VERSION__),\nnot the device-language-supported macro (__OPENCL_VERSION__).\n\nThis is required so that the kernel library gets compiled with all features.","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/01ea3df8e1c1810f5e6c3fb9841aa74bc9cd3a1a"},{"sha":"7c7907e18bb78128464436c5c8e6749b8e8564d7","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Make -cl-std=CL2.0 a recognized build option of clBuildProgram()","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/7c7907e18bb78128464436c5c8e6749b8e8564d7"},{"sha":"13f5c3aa5cc02e0a83ecc3e675e9cea172a592e2","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Fix some minor bugs in clBuildProgram.c\n\n1) print the final build options, not the initial ones\n2) avoid double-free on read locks","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/13f5c3aa5cc02e0a83ecc3e675e9cea172a592e2"},{"sha":"84679860f68a8f5088dae76d1d8e8667b446d18d","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Fix returning NULL from a no-return function in clSVMFree()","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/84679860f68a8f5088dae76d1d8e8667b446d18d"},{"sha":"1b6e06fc93e60e2180605bd407bd80c0b29a31a3","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Fix some unsigned-signed comparing","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/1b6e06fc93e60e2180605bd407bd80c0b29a31a3"},{"sha":"63a8b544a48ddc69c882b00e8cdbf3e02d427d37","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Move the device reported extensions into the build system.\n\nThis is required if we want to support multiple devices properly,\nbecause the kernel library needs to be build for each device with\nthe extensions it supports.","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/63a8b544a48ddc69c882b00e8cdbf3e02d427d37"},{"sha":"98778932721809f89382363b44275faa8a001194","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Add the recently added svm_atomics* files to the build systems","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/98778932721809f89382363b44275faa8a001194"},{"sha":"61ecd7a77d79ac891a57b01b8422d0beee874d48","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Add initial implementation of clCreateCommandQueueWithProperties()\n\nOnly host-side queues are supported currently.","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/61ecd7a77d79ac891a57b01b8422d0beee874d48"},{"sha":"3b8eb85a476e3618535aff3f9303d40a81bcbfc5","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Some forgotten things for commit 4667a54b953aa670749c62fd7f\n(aka Move the device reported extensions into the build system)","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/3b8eb85a476e3618535aff3f9303d40a81bcbfc5"},{"sha":"d0290f28e9baae4b48806a0452c2a6960b62ba83","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"CMake: Fix device object libraries added twice to target link list","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/d0290f28e9baae4b48806a0452c2a6960b62ba83"},{"sha":"d8e4050fcaa7c4759c612ed412c4869ee733370f","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Fix some compiler warnings (C99 code etc)","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/d8e4050fcaa7c4759c612ed412c4869ee733370f"},{"sha":"3c6e0fddc7b7f28d4460deb812144a65e594bd64","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Fix local > global dim in clEnqueueNDRangeKernel()\n\nApparently local_work_size values must only be smaller than\nCL_DEVICE_MAX_WORK_GROUP_SIZE and CL_DEVICE_MAX_WORK_ITEM_SIZES[i],\nbut doesn't have to me smaller than global_work_size. In that case\nfallback to our local_work_size computation code.\n\nThis fixes a problem with AMD SDK sample, where it enqueues a kernel\nof global sizes [1024,1,1] with local sizes [4096,1,1] (The 4096 is\nCL_DEVICE_MAX_WORK_GROUP_SIZE of the CPU device).","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/3c6e0fddc7b7f28d4460deb812144a65e594bd64"},{"sha":"4e4a9816bb940fc7808c8c9f808f166c9ef5c41b","author":{"email":"b8155f50a6e9e934107c6a78a12f03ba4888de19@tut.fi","name":"Michal Babej"},"message":"Add some more meaningful timing messages to clFinish()\n\nThis should print timing for each command executed on the queue\n(if POCL_DEBUG is 1).","distinct":true,"url":"https://api.github.com/repos/pocl/pocl/commits/4e4a9816bb940fc7808c8c9f808f166c9ef5c41b"}]}