Gonna start a quick thread that I later turn into a newsletter article or blog post: Tasks I tried to get GPT-4 to help with but it failed.
Q: should I include things I tried to get Bard and/or ChatGPT to help with? Those are known-to-be-weaker models, though most of my examples before this week are from ChatGPT.
Task 1: Give an implementation of the MLIR operation math.ctlz (count leading zeros) using only the operations from the arith and scf dialects. The output must be valid MLIR code.
Task 2: Implement signed 32-bit integer multiplication using only unsigned 8-bit integer multiplication operations
Task 3: Given a 10x20 matrix A whose values have type int32 (32-bit integers), and a 20x30 matrix B whose values have type int32, I would like to compute the matrix product A*B. However, I only have access to a computer that can do matrix multiplication when the values are int8 (8-bit integers). Is there a way to represent A*B as a matrix product C*D (or larger tensor product) where the intermediate values are all int8?
If this is possible, explain how to do this in Python, given a function `array([...], dtype=int8)` to construct arrays of type int8 and `int8_dot(A, B)` to compute the dot product of two int8 matrices or tensors.
Task 4: How do I create a grayscale image in Rust in-memory and fill it with data? use the image crate and Luma8 data type
Task 5: In the python API for the z3 solver, what is the way to specify a categorical variable with 4 options?
Task 5 (Another failure of GPT4 to help): how would I implement a wrapping discrete convolution using numpy? DO NOT use numpy.fft.
@j2kun 4 is more interesting.